MybatisPlus_删除数据(含逻辑删除)

一.逻辑删除(需要deleted字段,初始值为0)

实现方式一:注解

在实体类中为表示逻辑删除的字段加上@TableLogic注解即可

@TableLogic
    private int deleted;

实现方式二:配置文件

global-config:
    db-config:
      logic-delete-field: deleted # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略在实体类字段上添加@TableLogic注解)(但二者必须有其一)
      logic-delete-value: 1 # 逻辑已删除值(默认为 1)
      logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)

运行效果

对id=4与id=5的数据进行删除,可以看到在数据库中二者并未被删除,而是将deleted字段转为了"1"

尝试进行查询,可以看到仅可查询到前三条数据

二.常规删除语句

//删除
    @Test
    void deleteById(){
        userMapper.deleteById(4);
    }

    @Test
    void deleteByBatchIds(){
        userMapper.deleteBatchIds(Arrays.asList(5,6,7));
    }

    @Test
    void deleteByMap(){
        HashMap<String, Object> map = new HashMap<>();

        map.put("name","one");
        
        userMapper.deleteByMap(map);
    }
}
经验分享 程序员 微信小程序 职场和发展