深入解读MyBatis-Plus @TableField注解的用法

MyBatis-Plus作为MyBatis的一个增强工具,极大地简化了数据库操作的复杂性,提升了开发效率。在MyBatis-Plus中,@TableField注解是一个非常重要的组件,用于映射实体类字段与数据库表字段之间的关系。正确使用@TableField注解,不仅可以实现自动化的字段映射,还能在一定程度上提升程序的可读性和可维护性。本文将深入解读@TableField注解的用法,通过具体的示例代码帮助读者更好地理解和应用这一注解。

图片[1]-深入解读MyBatis-Plus @TableField注解的用法-趣考网

@TableField

属性类型描述
valueString数据库字段名
existbooleanexist = false 表示该属性不是数据库字段,新增等使用bean的时候,mybatis-plus就会忽略这个,不会报错
conditionString预处理 where 实体查询比较条件,有值设置则按设置的值为准,没有则为默认全局的 %s=#{%s}。@TableField(condition = SqlCondition.LIKE)输出SQL为: select 表 where name LIEK CONCAT(\'%\',值,\'%\')
updateString预处理 update set 部分注入,例如:当在age字段上注解update=“%s+1” 表示更新时会 set age=age+1 (该属性优先级高于 el 属性)
insertStrategyFieldStrategyMybatis-plus insert对字段的操作
updateStrategyFieldStrategyMybatis-plus update对字段的操作
whereStrategyFieldStrategyMybatis-plus where条件对字段的操作
fillFieldFill字段自动填充策略
selectboolean@TableField(select = false) 查询时,则不返回该字段的值 。
keepGlobalFormatboolean是否保持使用全局的 format 进行处理
jdbcTypeJdbcTypeJDBC 类型 (该默认值不代表会按照该值生效)
typeHandlerClass类型处理器 (该默认值不代表会按照该值生效)
numericScaleString指定小数点后保留的位数

FieldStrategy

描述
IGNORED忽略判断,该字段值不论是什么,都进行更新
NOT_NULL(默认)不为null则更新,也就是字段值为null则不生成到sql中不更新该字段,如果字段值为\"\"(空字符串)也是会更新的
NOT_EMPTY不为空则更新,注意该字段值为null或为\"\"(空字符串)都不会更新
DEFAULT默追随全局配置,和IGNORED 中的配置保持一致
NEVER不做更新操作,该字段值不论是什么,都不进行更新

FieldFill

描述
DEFAULT默认不处理
INSERT插入时填充字段
UPDATE更新时填充字段
INSERT_UPDATE插入和更新时填充字段

相关例子

例子描述
@TableField(select = false)不返回字段的值,但单独查询该字段就可以返回值,freezerDevice.selectList(Wrappers.lambdaQuery().select(FreezerDevice::getChannel))
@TableField(insertStrategy = FieldStrategy.IGNORED)Mybatis-plus insert 会忽略该字段值的判断
@TableField(updateStrategy = FieldStrategy.IGNORED)Mybatis-plus update 会忽略该字段值的判断
@TableField(whereStrategy = FieldStrategy.IGNORED)Mybatis-plus where条件中会忽略该字段值的判断
@TableField(insertStrategy = FieldStrategy.IGNORED,updateStrategy = FieldStrategy.IGNORED,whereStrategy = FieldStrategy.IGNORED)insertStrategy 、updateStrategy、whereStrategy 可以聚合操作
/***更新时如果字段为null,数据库的值就会更新为null*/@TableField(updateStrategy=FieldStrategy.IGNORED)privateStringname;

总结

通过本文的介绍,我们详细探讨了MyBatis-Plus中@TableField注解的用法及其在实体类字段与数据库表字段映射中的重要作用。@TableField注解提供了多种参数选项,可以根据不同的需求灵活地配置字段映射关系。掌握这些参数的用法,不仅可以帮助我们更高效地进行数据库操作,还能提升我们在使用MyBatis-Plus进行开发时的整体能力。希望本文的内容能够对读者有所帮助,让大家在实际工作中能够灵活运用@TableField注解,解决数据库操作的相关问题。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享