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