mybatis plus 物理删除
时间: 2023-11-17 11:57:50 浏览: 79
Mybatis Plus中的物理删除是指直接从数据库中删除数据记录,不会保留任何痕迹。相比之下,逻辑删除只是将数据记录的状态标记为“被删除状态”,并不会真正从数据库中删除数据记录。在实际应用中,物理删除一般用于删除不需要保留的数据记录,而逻辑删除则用于删除需要保留历史记录的数据。在Mybatis Plus中,可以通过调用delete方法实现物理删除。
相关问题
mybatis plus 删除
MyBatis Plus提供了多种删除数据的方法。其中,物理删除是直接从数据库中删除数据,而逻辑删除是将对应数据中心代表是否被删除字段状态修改为“被删除状态”,之后在数据库中仍旧能看到此条数据记录。
对于物理删除,MyBatis Plus提供了以下方法:
1. 使用Mapper的deleteById方法可以根据主键删除数据,例如:mapper.deleteById(1)。
2. 使用Mapper的deleteBatchIds方法可以批量删除数据,例如:mapper.deleteBatchIds(Arrays.asList(1,2,3))。
3. 使用Wrapper对象进行条件删除,例如:
```
LambdaQueryWrapper<Bank> wrapper = new LambdaQueryWrapper<Bank>();
wrapper.between(Bank::getId,3,5);
bankMapper.delete(wrapper);
```
对于逻辑删除,MyBatis Plus的实现比较简单,只需要在实体类的逻辑删除属性上添加@TableLogic注解,例如:
```
@TableLogic
private Integer deleted;
```
mybatis plus deleteByid 逻辑删除
在使用MyBatis Plus的`deleteById`方法进行逻辑删除时,会自动将指定实体的逻辑删除字段的值修改为逻辑删除的值,而不是进行物理删除。具体来说,当你调用`deleteById`方法删除记录时,会将对应记录的逻辑删除字段的值修改为逻辑删除的值。在`@TableLogic`注解中,你可以指定逻辑删除的值,默认情况下为1表示已删除,0表示未删除。因此,当你使用MyBatis Plus的`deleteById`方法时,会自动将该字段的值修改为逻辑删除的值。你不需要在Java代码中做任何处理,MyBatis Plus会自动将该字段视为逻辑删除字段进行处理。具体的配置方式可以参考上面给出的代码示例。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* *3* [springboot+mybatisPlus实现逻辑删除](https://blog.csdn.net/weixin_42759398/article/details/130191568)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [Mybatis-plus 逻辑删除](https://blog.csdn.net/z09z27b_/article/details/131209743)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]