2026/5/18 19:43:33
网站建设
项目流程
梁山网站建设,最基本的网站设计,杭州建筑公司排名,福建省铁路建设办公室网站官方文档#xff1a;逻辑删除支持 | MyBatis-Plus
一、逻辑删除字段
逻辑删除字段支持所有数据类型#xff0c;但推荐使用 Integer、Boolean 或 LocalDateTime。 如果使用 datetime 类型#xff0c;可以配置逻辑未删除值为 null(长度为4的字符串,在yaml中需使用转义符(单引…官方文档逻辑删除支持 | MyBatis-Plus一、逻辑删除字段逻辑删除字段支持所有数据类型但推荐使用Integer、Boolean或LocalDateTime。 如果使用datetime类型可以配置逻辑未删除值为null(长度为4的字符串,在yaml中需使用转义符(单引号)包裹)已删除值可以使用函数如now()来获取当前时间。 如果使用bigint类型可以配置逻辑未删除值为 0已删除值可以使用函数如UNIX_TIMESTAMP()来获取当前时间戳作为删除标识。适合用于将删除字段作为唯一索引组成列,可以多次逻辑删除。二、使用方法方法 1: 配置全局逻辑删除属性在application.yml中配置 MyBatis-Plus 的全局逻辑删除属性mybatis-plus: global-config: db-config: logic-delete-field: deleted # 全局逻辑删除字段名(deleted为实体类属性名称) logic-delete-value: 1 # 逻辑已删除值。可选默认值为 1 logic-not-delete-value: 0 # 逻辑未删除值。可选默认值为 0方法 2: 如不想使用全局配置可以在实体类中使用TableLogic注解对类单独进行配置在实体类中对应数据库表的逻辑删除字段上添加TableLogic注解import com.baomidou.mybatisplus.annotation.TableLogic; public class User { // 其他字段... TableLogic private Integer deleted; }同样逻辑未删除值默认为 0逻辑已删除值默认为 1。这两个值可以通过设置TableLogic注解的value属性和delval属性的值来进行修改。TableLogic(delval 1, value 0)三、如何进行插入删除操作1. 如何处理插入操作方法一在数据库中为逻辑删除字段设置默认值。方法二在插入数据前手动设置逻辑删除字段的值。方法三使用 MyBatis-Plus 的自动填充功能。2. 删除接口自动填充功能失效怎么办方法一使用deleteById方法。方法二使用update方法并使用UpdateWrapper.set(column, value)。方法三使用update方法并使用UpdateWrapper.setSql(columnvalue)。方法四使用 Sql 注入器注入com.baomidou.mybatisplus.extension.injector.methods.LogicDeleteByIdWithFill并使用3.5.0版本已废弃推荐使用deleteById。通过以上步骤你可以轻松地在 MyBatis-Plus 中实现逻辑删除功能提高数据管理的灵活性和安全性。