简单删除(使用多种方法可以达到目的)
| @Test |
| void testDelete(){ |
| userMapper.deleteById(5L); |
| } |
| @Test |
| void testDeleteByBatchIds(){ |
| userMapper.deleteBatchIds(Arrays.asList(1524653412236517378L,1524657437254115330L)); |
| } |
| |
| @Test |
| void testDeleteMap(){ |
| HashMap<String, Object> map = new HashMap<>(); |
| |
| 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 |
- 我们发现,它并不是执行删除语句,而是执行更新逻辑字段语句
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构