通过对乐观锁的描述,我们可以知道,如果想要实现乐观锁效果,那么在修改数据之前需要先对数据查询,只要查询过数据才会将带有乐观锁的字段值带出。
参考mybatis-plus官网
- 首先将实体类绑定@Version注解
2.配置插件(3.4.0后使用以下方式配置)
3.测试
对第4条数据进行修改
结果为:
线程2的修改数据成功,线程1执行失败
4.根据打印出的sql语句分析原因
- 线程1查询:
- 线程2查询
两线程查出version都为1 - 修改
此时根据id和version进行修改,到线程1需要修改时,由于version已经在线程2中version + 1,所以条件不成立,修改失败



