mybatis-plus 逻辑删除注解@TableLogic,如何实现记录删除时间,删除人信息

myzjeezk  于 2021-11-27  发布在  Java
关注(0)|答案(4)|浏览(1063)

当前使用版本(必填,否则不予处理)

<dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.2</version>
    </dependency>

该问题是如何引起的?(确定最新版也有问题再提!!!)

实现逻辑删除注解@TableLogic,生产环境想记录删除时间,删除人信息。注解@TableField(fill = FieldFill.UPDATE)没有效果,我开始以为逻辑删除也是做的修改,但是实际MetaObjectHandler里面没进来。
搜索了Issues里,也看见了差不多的提问,其中有解答用BaseMapper中的:
#3754

int deleteById(Serializable id);
int deleteByMap(@Param("cm") Map<String, Object> columnMap);
int delete(@Param("ew") Wrapper<T> queryWrapper);
int deleteBatchIds(@Param("coll") Collection<? extends Serializable> idList);

但是我试用的 IService 中的removeByIds方法
default boolean removeByIds(Collection<? extends Serializable> idList) {
return CollectionUtils.isEmpty(idList) ? false : SqlHelper.retBool(this.getBaseMapper().deleteBatchIds(idList));
}
实际也是用的deleteBatchIds方法。

重现步骤(如果有就写完整)

报错信息

g0czyy6m

g0czyy6m1#

最新版用 deleteById(your entity)

jgwigjjp

jgwigjjp2#

那批量删除呢?

64jmpszr

64jmpszr3#

插个眼,有没有大佬解决的,这个东西很困扰哦,总不能每次remove之前都去update一下吧

rn0zuynd

rn0zuynd4#

我认为逻辑删除的目的就是为了保留数据的变化,如果不走自动填充更新时间与人员信息,那岂不是最后一次的变化看不见了?
希望作者能尽快改善或者给我们一个方案实现,谢谢

相关问题