针对您提出的“MyBatisPlus 逻辑删除不生效”的问题,我将根据提供的提示逐一进行排查和解答,同时尽量包含代码片段来辅助说明。 1. 检查MyBatisPlus逻辑删除配置是否正确 首先,确保在MyBatisPlus的全局配置中启用了逻辑删除功能。这通常在配置类中进行设置,例如: java @Configuration public class MybatisPlusConfig { @...
检查是否有其他插件或拦截器可能影响Mybatis-Plus的逻辑删除操作。例如,某些安全插件可能会拦截删除操作。确保这些插件或拦截器与Mybatis-Plus逻辑删除操作兼容。处理方案: 检查并修复数据库连接配置; 核对并修正SQL语句; 修正实体类与数据库表的映射关系; 调整事务管理配置; 添加乐观锁字段到删除条件中; 禁用可能冲突的...
在进行更新操作时,mybatis-plus会追加where条件防止更新到已删除数据,且使用wrapper.entity生成的where条件会忽略该字段。也就是说,我本来的方法对应的sql可能是 update xxset xxwhere xx=xx 如果我配置的逻辑删除没有问题的话,mybatis-plus生成的sql应该是 update xxset xxwhere xx=xxand del_flag ='N' 但是...
mybatis-plus: global-config: db-config: logic-delete-field: flag #全局逻辑删除字段值 3.3.0开始支持,详情看下面。 logic-delete-value: 1 # 逻辑已删除值(默认为 1) logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) 2.打开p6spy 3.执行selectById(); 4.查询条件中无 flag=0 5.在entity的...
mybatis-plus逻辑删除无效 添加如下注解value代表默认值delval代表删除时的值 /*** 是否删除*/@TableLogic(value= "0", delval = "1") @TableField(value= "del_flag")privateBoolean delFlag; MybatisPlusConfig添加如下bean,不出意外这里只针对mybatis-plus 3.1.1之上版本的这里是最关键的...
解决方案:第一步:升级mybatisplus版本到3.2.0 第二步.多添加一个扩展包 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-extension</artifactId> <version>3.2.0</version> </dependency> 1. 2. 3. 4. 5.
mybatis-plus:global-config:db-config:logic-delete-value:1# 逻辑已删除值(默认为1)logic-not-delete-value:0# 逻辑未删除值(默认为0) @TableLogicprivateIntegerdeleted; 需要在mybatis配置中加入逻辑删除注入,之后逻辑删除生效,不再是物理删除。 @ConfigurationpublicclassMyBatisPlusConfiguration{@BeanpublicISqlIn...
mp已经更新了这个错误,在设置logicDelete时会先判断原来的删除标识是否为true,否则保持原来的初始值false。 补充知识:分布式 mybatis-plus 逻辑删除不生效 升级后org.mybatis.logging.LoggerFactory报错 wVCTHQJzI 解决方案: 第一步:升级mybatisplus版本到3.2.0 ...
mybatis-plus: global-config: db-config: logic-delete-field: delete_flag logic-delete-value: 1 logic-not-delete-value: 0 按照官方文档说法如果配置全局逻辑删除,无需在逻辑删除字段配置注解@TableLogic 报错信息 插入信息,逻辑删除字段值是null baomidou/mybatis-plus ...