抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

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
    6
    mybatis-plus:
    global-config:
    db-config:
    logic-delete-field: #{全局逻辑删除实体字段名}
    logic-delete-value: #{逻辑已删除值,默认为1}
    logic-not-delete-value: #{逻辑未删除值,默认为0}
  • 实体类上加上@TableLogic注解

@TableId

此注解加在实体类对应数据库主键的字段上,其包含属性valuetype:

1
@TableId(value = "#{主键名称}", type = TdType.#{枚举类型})
官方说明

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

评论