Parameter ‘MP_OPTLOCK_VERSION_ORIGINAL‘ not found

nested exception is org.apache.ibatis.binding.BindingException: Parameter 'MP_OPTLOCK_VERSION_ORIGINAL' not found. Available parameters are [param1, et]

搜索【MP_OPTLOCK_VERSION_ORIGINAL】,是乐观锁相关

备注:前提 mybatisplus对象不用spring容器管理

1、配置文件上增加@Configuration注解 

错误依然存在

2、@Version注解

发现我确实用到了,打印sql, 发现是更新的时候报错了,打印了更新前后该字段的值。

更新之前是null,更新之后是1,所以更新之前错误的值(正确的应该是1)

修改自己的取数逻辑,数据库,代码中该字段都修改成int类型。

@Version注解的字段仅支持int,Integer,long,Long,Date,Timestamp,不支持String。

新增时,该注解的字段会默认值1, 更新的时候该字段自增1   set version=version+1 where version = version,确保每次修改都是取最新(别人没有更新过的)

错误依然存在

3、增加乐观锁拦截器配置

public OptimisticLockerInterceptor optimisticLockerInterceptor() {
        return new OptimisticLockerInterceptor();
    }

@Version注解,没有自动赋值,上面的拦截器配置没起作用。

错误依然存在

4、单步调试

没有mybatis-plus源码放弃

5、升级mybatis-plus版本到3.4.0, 乐观锁升级

错误依然存在

5、最后放弃使用@Version

后期研究mybatis-plus原理的时候再推进吧。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值