一、该问题的重现步骤是什么?
已经按照这个配置写了,但是乐观锁不生效,拦截器好像也没起作用
mybatisPlusProperties.getTenantMode()等方法不存在
package org.springblade.common.config; import com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor; import lombok.AllArgsConstructor; import org.springblade.core.mp.intercept.QueryInterceptor; import org.springblade.core.mp.plugins.BladePaginationInterceptor; import org.springblade.core.tool.utils.ObjectUtil; import org.springframework.beans.factory.ObjectProvider; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.AnnotationAwareOrderComparator; /** * 公共封装包配置类 * * @author Chill */ @Configuration(proxyBeanMethods = false) @AllArgsConstructor public class BladeCommonConfiguration { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor(ObjectProvider<QueryInterceptor[]> queryInterceptors, TenantLineInnerInterceptor tenantLineInnerInterceptor, MybatisPlusProperties mybatisPlusProperties) { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); // // 配置租户拦截器 // if (mybatisPlusProperties.getTenantMode()) { // interceptor.addInnerInterceptor(tenantLineInnerInterceptor); // } // // 配置分页拦截器 // BladePaginationInterceptor paginationInterceptor = new BladePaginationInterceptor(); // // 配置自定义查询拦截器 // QueryInterceptor[] queryInterceptorArray = queryInterceptors.getIfAvailable(); // if (ObjectUtil.isNotEmpty(queryInterceptorArray)) { // AnnotationAwareOrderComparator.sort(queryInterceptorArray); // paginationInterceptor.setQueryInterceptors(queryInterceptorArray); // } // paginationInterceptor.setMaxLimit(mybatisPlusProperties.getPageLimit()); // paginationInterceptor.setOverflow(mybatisPlusProperties.getOverflow()); // paginationInterceptor.setOptimizeJoin(mybatisPlusProperties.getOptimizeJoin()); // 配置分页拦截器 // interceptor.addInnerInterceptor(paginationInterceptor); // 配置乐观锁拦截器 interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor()); return interceptor; } }
实体类中的参数:
version;
更新方法:
this.updateById(entity);
是不是少写哪些地方?version不需要单独的+1吗?
另外如果我不用version而是使用
private Date updateTime;
只需要添加注解就可以了吗?
二、你期待的结果是什么?实际看到的又是什么?
乐观锁生效,拦截器也不能影响原本的分页、查询等
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
cloud 4.5.0
-
你可以用原版的mybtis-plus的demo跑一下看看有没有问题:https://baomidou.com/plugins/optimistic-locker/#_top
我们没有对他做过封装,原版是什么功能,集成到框架里就是什么功能。
作者追问:2025-05-13 09:39
我使用的Oracle数据库,同样的配置,数据库参数一样,但是在bladexboot项目中乐观锁生效,在cloud中不生效。
entity中是有version参数的
boot配置和cloud配置,启动的时候cloud配置是进入断点的,说明配置加载了,但是实际sql打印没有,boot打印的sql有version


讨论(0)
官方新品
- 热议问题
-
物联网平台支持本地存储吗,不用minio
1
-
bladx admin、gateway等项目起不来
1
-
解决sql注入问题导致gateway无法启动,报错java.io.FileNotFoundException:WebMvcConfigurer.class
1
-
一个用户绑定多角色,在登陆后获取其并集
1
-
mvn clean compile 编译 BladeX-Tool 提示 ... /ojdbc7-12.2.0.1.pom 401 Unauthorized
2
-
gateway无法启动,报错java.io.FileNotFoundException:WebMvcConfigurer.class
1
-
cookie中token缺失HttpOnly和Secure属性
1
-
在nacos配置多数据库之后sql日志不能正常打印了
1
-
无法本地调试服务
1
-
启动流程设计器工程flowable-design,表act_id_property用的是版本6.5.0.1,需要引入哪些依赖
1
扫一扫访问 Blade技术社区 移动端