Mybatisplus如何实现逻辑删除,面试
时间: 2024-01-25 18:02:52 浏览: 29
Mybatisplus通过在实体类中添加一个逻辑删除标识字段,例如使用注解@TableLogic标注一个Boolean类型的字段,来实现逻辑删除功能。当执行删除操作时,Mybatisplus会自动将该字段的值设置为删除标识值(例如0或1)。同时,Mybatisplus还提供了逻辑删除的全局配置,可以在配置文件中设置逻辑删除的字段名和删除标识值等参数。需要注意的是,逻辑删除只是将数据标记为删除状态,并不会真正删除数据。如果需要彻底删除数据,可以使用物理删除。
相关问题
mybatisplus怎么实现逻辑删除
MyBatis-Plus可以通过配置和注解来实现逻辑删除。首先,你需要在配置文件中进行相应的配置。在配置文件中,你可以设置全局逻辑删除的实体字段名,逻辑已删除值和逻辑未删除值。例如,你可以将逻辑删除字段名设置为"deleted",逻辑已删除值设置为1,逻辑未删除值设置为0。这样,当进行逻辑删除操作时,会将该字段的值修改为逻辑已删除值,而不是直接删除数据。\[1\]
另外,你还可以在实体类的属性上添加@TableLogic注解来指定逻辑删除的字段。例如,在user表的实体类中,你可以在deleted字段上添加@TableLogic注解,表示该字段是逻辑删除的字段。注解中的参数可以指定逻辑已删除值和逻辑未删除值。\[3\]
通过以上配置和注解,你就可以使用MyBatis-Plus的逻辑删除功能了。当进行删除操作时,会将逻辑删除字段的值修改为逻辑已删除值,而不是直接删除数据。在查询时,可以通过条件来过滤掉已被逻辑删除的数据,只查询未被逻辑删除的数据。这样可以实现从逻辑层面控制删除的效果。\[2\]
#### 引用[.reference_title]
- *1* [使用MyBatis-Plus实现逻辑删除](https://blog.csdn.net/weixin_54949000/article/details/123631597)[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^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [MybatisPlus——逻辑删除的实现](https://blog.csdn.net/hxxxxm_w/article/details/126929806)[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^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Mybatis-plus实现逻辑删除](https://blog.csdn.net/helloyuanye/article/details/125482936)[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^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
mybatisplus的逻辑删除
MyBatisPlus提供了逻辑删除功能,它与物理删除有一些区别。在使用常规的逻辑删除方案时,我们需要考虑很多因素,为了提高效率,更推荐使用MyBatisPlus提供的逻辑删除方案。使用MyBatisPlus的逻辑删除功能非常简单。开启逻辑删除功能后,MyBatisPlus在删除、查询和更新时会自动加上条件deleted=0,即只对没有被删除的数据进行操作。在建表时,建议对deleted字段做默认限制,默认为0(未删除),插入数据时这个值可以不用设置。对于自己在xml文件中定义的接口方法,MyBatisPlus不会自动开启逻辑删除功能,需要我们自己维护逻辑删除功能。在查询时,MyBatisPlus会自动追加where条件过滤掉已删除的数据,并且使用wrapper.entity生成的where条件会忽略该字段。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)