MybatisPlus-@TableField注解的介绍与常用方法

  • Post author:
  • Post category:其他


  1. 在执行update操作or insert操作时,想把某个字段属性设置为NULL,在@TableField的源码中默认是NOT NULL,所以为空的时候是set不进去值的,想要把为””或NULL的属性set进去,需要做如下修改:
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Integer disposalMode;

@TableField(insertStrategy = FieldStrategy.IGNORED)
private Integer disposalMode;

源码如图:

在这里插入图片描述

在这里插入图片描述

  1. 如果实体中存在某个字段,在insert操作时不需要进行插入时,需要进行如下修改:
@TableField(exist = false)
private Integer disposalMode;

因为默认为true,所以在插入的时候如果数据库中没有此字段会报错,如图:

在这里插入图片描述

3. 在拼接sql中的where语句的查询条件的时候,使用Condition.getQueryWrapper()或其他直接使用实体对象进行组装wrapper是,会将有值得字段默认拼成eq查询,如需修改为like查询,需进行如下配置:

@TableField(condition = SqlCondition.LIKE)
private Integer disposalMode;

源码如下,可根据SqlCondition类中的属性,自由选择:

在这里插入图片描述

在这里插入图片描述

4. 给时间格式数据进行自动填充,进行如下配置:

@TableField(fill = FieldFill.INSERT)
private Date createTime;

源码如下,可根据枚举类中的属性自由调整:

在这里插入图片描述

在这里插入图片描述

5. 一些不常用的参数设置源码如下,大家可根据自己需求自行查看:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



版权声明:本文为qq_44293888原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。