MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis(opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
愿景:
我们的愿景是成为 MyBatis 最好的搭档,就像中的 魂斗罗 1P、2P,基友搭配,效率翻倍。
注解
表名与实体类名不一致
表名为 st_user, 实体类名非要写成 User
解决方案:指定表名
@TableName("st_user")
字段名与实体类属性名不一致
字段名:real_name
实体类属性名:name
@TableField("real_name")
private String name;
用注解,@TableName
主键名不叫 id
主键名当然可以叫其他名字,不必非叫 id
只需指定主键名即可
// 指定数据表主键字段为 user_id
@TableId
private long userId;
排除非表中的字段
实体类有些属性是在程序中封装的,并不在数据表中
@TableField(exist = false)
private String remark;
@TableName
- 描述:表名注解
属性 | 类型 | 必须指定 | 默认值 | 描述 |
---|---|---|---|---|
value | String | 否 | "" | 表名 |
schema | String | 否 | "" | schema(@since 3.1.1) |
keepGlobalPrefix | boolean | 否 | false | 是否保持使用全局的 tablePrefix 的值(如果设置了全局 tablePrefix 且自行设置了 value 的值)(@since 3.1.1) |
resultMap | String | 否 | "" | xml 中 resultMap 的 id |
autoResultMap | boolean | 否 | false | 是否自动构建 resultMap 并使用(如果设置 resultMap 则不会进行 resultMap 的自动构建并注入)(@since 3.1.2) |