简单删除和逻辑删除

简单删除(使用多种方法可以达到目的)

    @Test //普通删除
    void testDelete(){
        userMapper.deleteById(5L);
    }
    @Test //批量删除
    void testDeleteByBatchIds(){
        userMapper.deleteBatchIds(Arrays.asList(1524653412236517378L,1524657437254115330L));
    }

    @Test //根据条件删除之一 map
    void testDeleteMap(){
        HashMap<String, Object> map = new HashMap<>();
        //条件在map中填写
        map.put("name","小落");
       userMapper.deleteByMap(map);
    }

逻辑删除

什么是逻辑删除?

逻辑删除:自是将逻辑字段更新,并不是真正的删除数据库中的数据。这保证了数据的安全性

还有一个是物理删除,那什么是物理删除呢?

物理删除:真正意义上的删除,从数据库中删除数据

怎么使用逻辑删除呢?

  1. 创建逻辑字段
    deleted字段
  2. 逻辑删除的在springBoot中的配置
# 物理删除
mybatis-plus.global-config.db-config.logic-delete-value=1
# 逻辑删除
mybatis-plus.global-config.db-config.logic-not-delete-value=0
  1. 在实体类中指定逻辑字段
    @TableLogic
    private Integer deleted;
  1. 测试逻辑删除
    @Test //普通删除
    void testDelete(){
        userMapper.deleteById(8L);
    }
  1. 运行时的sql语句
==>  Preparing: UPDATE user SET deleted=1 WHERE id=? AND deleted=0
==> Parameters: 8(Long)
<==    Updates: 1
  1. 我们发现,它并不是执行删除语句,而是执行更新逻辑字段语句
posted @ 2022-05-13 00:01  小罗要有出息  阅读(494)  评论(0编辑  收藏  举报