简单删除和逻辑删除

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

@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 @   小罗要有出息  阅读(515)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示