在MyBatis-Plus中,物理删除和逻辑删除是两种不同的数据删除方式。物理删除是指直接从数据库中删除记录,而逻辑删除则是通过修改记录中的一个标记字段(如deleted)来表示记录已被删除,但记录仍保留在数据库中。在某些场景下,我们可能希望这两种删除方式能够共存,以便根据不同的业务需求选择适合的删除方式。 1. 理解MyBa...
@TableLogic //全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置) private Boolean deleted;//是否删除,0:未删除;1:删除 } 2.3 全局配置 全局配置该字段的各个状态的值: #全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置@TableLogic) mybatis-plus.global-config.db-config.logic-...
一、使用MyBatis-Plus实现物理删除 1.根据id删除记录 // 1.根据id删除@TestpublicvoidtestDeleteById(){intcount=userMapper.deleteById(1L);System.out.println(count);} 根据id删除记录 2.批量删除 // 2.批量删除@TestpublicvoidtestDeleteBatchIds(){intcount=userMapper.deleteBatchIds(Arrays.asList(2,3,4...
MyBatis-Plus的物理删除和逻辑删除(使⽤场景)物理删除:真实删除,将数据从数据库中删除,删除后查询不到被删除的数据 逻辑删除:假删除,⽅便删除之后的数据恢复 在表中添加⼀个status字段,作为删除的标准,每次删除时,修改标志位,0代表没有删除,1代表删除 被删除记录的status字段被修改为“被删除状态”...
MyBatis-Plus 之逻辑删除 概念 逻辑删除:文件没有被真正的删除,通常这种删除操作是可逆的,就是说用适当的工具或软件可以把删除的文件恢复出来。 物理删除:指文件存储所用到的存储区域被真正的擦除或清零,这样删除的文件是不可以恢复的,物理删除是计算机处理数据时的一个概念。
被删除记录的status字段被修改为“被删除状态”(1),删除后还可以查询到数据 逻辑删除的使用场景 1.需要进行数据恢复 2.有关联数据,不便删除 # mysql//测试逻辑删除statusintnulldefaultnull AI代码助手复制代码 # 实体类//实现逻辑删除@TableLogic@TableField(fill=FieldFill.INSERT)//为了方便测试privateInteger statu...
myBatisPlus-删除 物理删除 真实删除,将对应数据从数据库中删除,之后会查询不到此条被删除数据 根据ID 删除数据 @Test publicvoiddeleteById() { intresult=userMapper.deleteById(1L); System.out.println(result); } 1. 2. 3. 4. 5. 批量删除
假设现在有一个已经完成或者已经到中期的项目,但是忘记做逻辑删除了,更改的办法如下 第一步,在项目中添加如下的拦截器 import com.baomidou.mybatisplus.core.toolkit.PluginUtils; import com.baomidou.mybatisplus.ex
我用的是配置文件里的全局配置逻辑删除,我刚才试了下,删除了表deleted字段,程序报错,说找不到deleted字段。并不能直接删除 回复2022-04-17 脚一你了踢便顺: @搞搞的传奇 那你写的有问题,我自己试了下,当你用tableField的时候,将实体类的字段改名,此时的删除已经是物理删除而不是逻辑删除了 回复2022-04...
但是毕竟需求多变,人家如果只想物理删除,我们也简单,删除这两句话就行。但是如果那二货产品想要逻辑删和物理删除共存的话,我们就不好搞了。 2,解决1的问题。 直接在repository上加个物理删除的sql不就好了吗? 但是这样是不是每张表都要加,太麻烦了。