mybatisplus逻辑删除时不会自动填充修改人和修改信息
明明配置好了全局自动填充规则,结果使用mybatisplus提供的delete系列方法进行逻辑删除却不会自动填充,无奈。
参考文章:mybatis-plus逻辑删除自动填充更新时间 - 掘金 (juejin.cn)
后决定使用update方法进行手动设置
写出代码:
通过实体类id去设置delstate(我自己的逻辑删除字段)为删除状态
sstNonoilWarehouseOptimizeForwardBaseService.update(null,
new UpdateWrapper<实体类>().lambda().eq(实体类::getId, id)
.set(实体类::getDelState, 1));
但是却报错:
nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'xxxx'. Cause: org.apache.ibatis.ognl.OgnlException: source is null for getProperty(null, "xxxx") org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'xxxx != null'. Cause: org.apache.ibatis.ognl.OgnlException: source is null for getProperty(null, "xxxx")
有点麻。。。 明明和网上其他地方代码都差不多
后续搜索到一个评论区解惑
看了下自己项目的版本:3.0.6
噢!原来是版本问题
把null换成了new实体类后成功!!!
by the way:
MP配置了逻辑删除后,执行delete相关方法后会实际执行update方法,将逻辑删除的字段进行更改。但是如果想使用update相关方法将此逻辑字段进行更新则是不可以的。所以只能使用set来改变