简单删除和逻辑删除
简单删除(使用多种方法可以达到目的)
    @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);
    }
逻辑删除
什么是逻辑删除?
逻辑删除:自是将逻辑字段更新,并不是真正的删除数据库中的数据。这保证了数据的安全性
还有一个是物理删除,那什么是物理删除呢?
物理删除:真正意义上的删除,从数据库中删除数据
怎么使用逻辑删除呢?
- 创建逻辑字段
 deleted字段
- 逻辑删除的在springBoot中的配置
# 物理删除
mybatis-plus.global-config.db-config.logic-delete-value=1
# 逻辑删除
mybatis-plus.global-config.db-config.logic-not-delete-value=0
- 在实体类中指定逻辑字段
    @TableLogic
    private Integer deleted;
- 测试逻辑删除
    @Test //普通删除
    void testDelete(){
        userMapper.deleteById(8L);
    }
- 运行时的sql语句
==>  Preparing: UPDATE user SET deleted=1 WHERE id=? AND deleted=0
==> Parameters: 8(Long)
<==    Updates: 1
- 我们发现,它并不是执行删除语句,而是执行更新逻辑字段语句
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号