老师你好,MP可以进行批量逻辑删除吗?怎么实现?
同学,可以实现批量逻辑删除啊,首先你的实体中要有使用注解@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);
// 生成的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>
//使用这个方法 dao.deleteBatchIds(Collections.singleton(new long[]{1094590409767661570L, 1094590409767661571L}));