首页 > 其他分享 >MybatisPlus中@TableField注解的使用

MybatisPlus中@TableField注解的使用

时间:2023-03-12 11:01:25浏览次数:43  
标签:TableField 实体类 MybatisPlus 自定义 填充 update 字段 注解




实现

官方文档说明:

  • com.baomidou.mybatisplus.annotations.TableField

 


描述

value

字段值(驼峰命名方式,该值可无)

update

预处理 set 字段自定义注入

condition

预处理 WHERE 实体条件自定义运算规则

el

详看注释说明

exist

是否为数据库表字段( 默认 true 存在,false 不存在 )

strategy

字段验证 ( 默认 非 null 判断,查看 com.baomidou.mybatisplus.enums.FieldStrategy )

fill

字段填充标记 ( FieldFill, 配合自动填充使用 )

  • TableField 注解新增属性 ​​update​​ 预处理 set 字段自定义注入
例如:@TableField(.. , update="%s+1") 其中 %s 会填充为字段
输出 SQL 为:update 表 set 字段=字段+1 where ...
例如:@TableField(.. , update="now()") 使用数据库时间
输出 SQL 为:update 表 set 字段=now() where ...
  • TableField 注解新增属性 ​​condition​​ 预处理 WHERE 实体条件自定义运算规则
@TableField(condition = SqlCondition.LIKE)
private String name;
输出 SQL 为:select 表 where name LIKE CONCAT('%',值,'%')
  • 字段填充策略 FieldFill

 


描述

DEFAULT

默认不处理

INSERT

插入填充字段

UPDATE

更新填充字段

INSERT_UPDATE

插入和更新填充字段

举例

比如说数据库中字段为last_name,而实体类的属性为lastName。

前提是在全局策略配置中将驼峰命名关闭。

<property name="dbColumnUnderline" value="false"></property>

关于MyBatisPlus中进行通用CRUD全局策略配置参照:< /P>

这时就可以在实体类上添加:

@TableField(value="last_name")

又比如在实体类中有一个属性为remark,但是在数据库中没有这个字段,

但是在执行插入操作时给实体类的remark属性赋值了,那么可以通过在实体类的

remark属性上添加

@TableField(exist=false)
private String remark;

就不会报错了。

标签:TableField,实体类,MybatisPlus,自定义,填充,update,字段,注解
From: https://blog.51cto.com/BADAOLIUMANGQZ/6115626

相关文章

  • MyBatisPlus中进行通用CRUD全局策略配置
    实现通过全局策略配置,开启下划线到驼峰命名的支持,全局配置主键策略,全局配置表明映射前缀。打开项目的applicationContext.xml添加bean<!--定义MybatisPlus的全局策略配置--......
  • MybatisPlus提示 Could not set property 'id' of '***' with value
    场景使用MybatisPlus执行插入操作时提示: Couldnotsetproperty'id'of'classcom.badao.beans.Employee'withvalue实现找到实体类添加主键策略以及制定表名MP支持以......
  • aop+自定义注解实现数据源切换
    pom.xml依赖<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • MybatisPlus(七) 插件的使用~分页插件(配置类篇)
    一、Springboot配置分页插件@ConfigurationpublicclassPageConfig{/*分页插件*/@BeanpublicMybatisPlusInterceptormybatisPlusInterceptor(){......
  • 用注解实现给对象动态添加方法
    来自《Java核心技术II高级特性》我们知道在GUI编程中,有很多对象的事件监听方法,类似下面:yellowButton.addActionListener(e->yellowBackground()); 首先我们先......
  • MybatisPlus(六) IService层CRUD相关接口使用
    Save(添加)//插入一条记录(选择字段,策略插入)booleansave(Tentity);//插入(批量)booleansaveBatch(Collection<T>entityList);//插入(批量)booleansaveBatch(Collec......
  • MybatisPlus(五) 条件构造器
    wapper介绍:用于条件封装,生成sql的where条件|--Wrapper:条件构造抽象类,最顶端父类|--AbstractWrapper:用于查询条件封装,生成sql的where条件......
  • MybatisPlus查询时过滤不需要的字段~
    解释一下:乍一看标题可能有点懵~,其实就是想查询的时候过滤掉某些字段例如:selectname,email,passwordfromuser;--改为->selectname,emailfromuser;去掉password这......
  • 注解与反射
    注解与反射注解注解Annotation是从JDK5.0开始引入的新技术.Annotation的作用:不是程序本身,可以对程序作出解释.(这一点和注释(comment)没什么区别)可以被其他程序(比......
  • 20.注解小记
    Json相关注解JsonInclude 如果不加这个注解:{"a":"111","b":1,"children":[]}加上注解并标记NON_EMPTY:{"a":"111","b":1}数据库相关注解Tab......