Mybatis-Plus @TableField(exist = false)不生效

Mybatis-Plus @TableField(exist = false)不生效

1、将JavaBean转换为Map集合的形式出现空指针异常

Mybatis-Plus @TableField(exist = false)不生效_第1张图片

2、debug后发现查出来的Java对象的某个属性为Null

​ 但是自己已经在Java对象的属性上写了@TableField(exist=false)注解,其

加在bean属性上,表示当前属性不是数据库表字段,但在项目中必须使用。

Mybatis-Plus @TableField(exist = false)不生效_第2张图片

3、经过查询资料发现,原来是在实体类中该属性设置了默认初始值

​ 自己在该Java类上添加了@Data注解,会自动为属性设置默认初始值。

这样就会导致Mybatis-Plus认为参数是前端传的参数值,会自动生成SQL。

4、解决办法

​ 去掉@Data注解,自己手动生成set和get方法,然后就完美解决了问题

你可能感兴趣的:(日常bug,java,idea,spring,redis)