可以进行批量逻辑删除吗?怎么实现?

来源:2-2 逻辑删除实现

qq_慕函数7358014

2020-04-29 17:45

老师你好,MP可以进行批量逻辑删除吗?怎么实现?

写回答 关注

3回答

  • 老猿
    2020-05-05 16:28:47

           同学,可以实现批量逻辑删除啊,首先你的实体中要有使用注解@TableLogic标识的字段,然后你调用BaseMapper中的如下方法,如果符合条件的行数大于一个,就是批量逻辑删除。

    int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
    int delete(@Param(Constants.WRAPPER) Wrapper<T> wrapper);
    int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);


    慕哥2416...

    老师,批量逻辑删除要动态填充几个字段,我继承了 AbstractMethod 抽象类,重写了injectMappedStatement方法。但是动态的几个字段不知道怎么填充。

    2020-10-16 16:12:49

    共 1 条回复 >

  • 慕哥2416699
    2020-10-16 16:15:05

    // 生成的SQL,如下

    <script>

    UPDATE T_MDM_COLL_STRU_ITEM SET DELETED_BY=#{deletedBy},DELETED_ID=#{deletedId},DELETED_TIME=#{deletedTime},DELETED_FLAG='1' WHERE ID IN ( <foreach collection="list" item="id" separator=",">

                #{id}

            </foreach>) 

    </script>



  • qq_慕娘5513985
    2020-05-01 10:05:19
    //使用这个方法
    dao.deleteBatchIds(Collections.singleton(new long[]{1094590409767661570L, 1094590409767661571L}));


MyBatis-Plus进阶

MyBatis-Plus框架进阶课程

23296 学习 · 118 问题

查看课程

相似问题