当前位置: 首页 > news >正文

MyBatis-Plus 快速入门 -常用注解

目录

1. 常用注解

@TableName

@TableId

@TableField

2. IdType 枚举

3. 使用 @TableField 的常见场景

4. 完整示例

5. 总结


在使用 MyBatis-Plus 的过程中,我们经常会用到一些注解来完成实体类与数据库表字段之间的映射关系。本文将带你快速入门,了解 常用注解 的使用方法。


1. 常用注解

@TableName

  • 作用:指定实体类对应的数据库表名。

  • 示例:

    @TableName("tb_user")
    public class User {}
    

@TableId

  • 作用:指定表中的主键字段信息。

  • 常用参数:

    • value:数据库主键字段名。

    • type:主键策略(如 AUTO 表示自增)。

  • 示例:

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    

@TableField

  • 作用:指定表中的普通字段信息。

  • 常用参数:

    • value:数据库对应字段名。

    • exist:是否为数据库字段(false 表示不是数据库字段)。

  • 示例:

    @TableField("username")
    private String name;@TableField(exist = false)
    private String address; // 非数据库字段
    

2. IdType 枚举

MyBatis-Plus 提供了多种主键生成策略:

  • AUTO:数据库自增。

  • INPUT:用户手动输入,通过 set 方法注入。

  • ASSIGN_ID:分配 ID,底层通过雪花算法生成全局唯一 ID。

示例:

@TableId(type = IdType.AUTO)
private Long id;

3. 使用 @TableField 的常见场景

  1. 成员变量名与数据库字段名不一致。

  2. 成员变量以 is 开头且为布尔值。

  3. 成员变量名与数据库关键字冲突。

  4. 成员变量不是数据库字段。


4. 完整示例

数据库表 tb_user

名称数据类型注释默认值
idBIGINT用户id自增
usernameVARCHAR用户名-
is_marriedBIT是否结婚0
orderTINYINT序号NULL

对应实体类:

@TableName("tb_user")
public class User {@TableId(value = "id", type = IdType.AUTO)private Long id;@TableField("username")private String name;@TableField("is_married")private Boolean isMarried;@TableField("order")private Integer order;@TableField(exist = false)private String address; // 非数据库字段
}

5. 总结

在 MyBatis-Plus 中,常用的注解主要有:

  • @TableName:映射数据库表名。

  • @TableId:定义主键及主键生成策略。

  • @TableField:映射普通字段或定义非数据库字段。

掌握这些注解,就能轻松完成实体类与数据库表的映射,大大提升开发效率。


✨ 如果你正在学习 MyBatis-Plus,可以先从这些注解入手,逐步深入,快速上手项目开发!

http://www.dtcms.com/a/349997.html

相关文章:

  • response.json()与 json.loads(json_string)有何区别
  • 2025年5月架构设计师案例分析真题回顾,附参考答案、解析及所涉知识点(一)
  • 【Java】 Spring Security 赋能 OAuth 2.0:构建安全高效的现代认证体系
  • spring boot开发:一些基础知识
  • 5分钟了解单元测试
  • 大数据量的ArrayList怎么获取n个元素
  • Ansible 环境配置(基于 RHEL 9)
  • 文件权限详解
  • Allegro-过孔篇(普通VIA,盲埋孔)
  • SOME/IP-SD报文中 Entry Format(条目格式)-理解笔记1
  • 新的 macOS 安装程序声称能够快速窃取数据,并在暗网上销售
  • 第四章:大模型(LLM)】07.Prompt工程-(12)评估prompt的有效性
  • 【LIN】2.LIN总线通信机制深度解析:主从架构、五种帧类型与动态调度策略
  • maven-default-http-blocker (http://0.0.0.0/)
  • Gemini CLI 与 MCP 服务器:释放本地工具的强大潜力
  • Swiper属性全解析:快速掌握滑块视图核心配置!(2.3补充细节,详细文档在uniapp官网)
  • 飞牛影视桌面客户端(fntv-electron)使用教程
  • 无人机航拍数据集|第20期 无人机公路损伤目标检测YOLO数据集3771张yolov11/yolov8/yolov5可训练
  • 一键终结Win更新烦恼!你从未见过如此强大的更新暂停工具!
  • 云手机挂机掉线是由哪些因素造成的?
  • 指纹云手机×Snapchat Spotlight:动态GPS+陀螺仪仿生方案
  • 102. 二叉树的层序遍历
  • 指令集架构ISA是什么?
  • toRefs 和 toRef 的区别和用法
  • 计算机实习经历包装/编写
  • 使用阿里云实现短信注册
  • 通过URI Scheme实现从Web网页上打开本地C++应用程序(以腾讯会议为例,附完整实现源码)
  • 从 “能对话” 到 “会思考”:通用人工智能离我们还有多远?
  • 【LeetCode 热题 100】416. 分割等和子集——(解法一)记忆化搜索
  • 函数指针与回调函数(c++)