Mybatis-plus小记
记录些小坑小点
@TableField
注解里的内容和表字段名对应,标了这个注解就必须一摸一样捏…
要不然查不到
命名问题
表中字段名如果是以 _
来分隔,则实体类成员变量名使用驼峰命名法,比如user
表中有个 user_id
字段,那么实体类 User
中就是 userId
否则使用查询语句时会映射不到,导致明明有数据却查出来为 null
构造器的in
使用wrapper
(条件构造器)时,可以传List
;
比如说有个 List
,里面放的是userId,我现在想构造一个能一次性把这些 id
对应的 user
全查出来的 wrapper
,是不能写 eq
的,用 eq
会和 List
这个对象比较;而用 in
的话,在确保字段和 List
元素一致的情况是可以的。
另外有个解决方法是放在循环中,或者在自定义语句中配置 in
对应的 foreach
@TableLogic
逻辑删除的配置和使用不要忘记:
application.yml
中配置:1
2
3
4
5
6mybatis-plus:
global-config:
db-config:
logic-delete-field: #{全局逻辑删除实体字段名}
logic-delete-value: #{逻辑已删除值,默认为1}
logic-not-delete-value: #{逻辑未删除值,默认为0}- 实体类上加上
@TableLogic
注解
@TableId
此注解加在实体类对应数据库主键的字段上,其包含属性value
和type
:
1 |

一般用自增逻辑type = IdType.AUTO