乐观锁(新注解)
- 一、数据库添加一个字段
- 二、实体类添加@version注解
- 三、注册乐观锁插件
- 四、测试一下
- 4.1成功的乐观锁
- 4.2失败的乐观锁
- ————————
- 创作不易,笔记不易,如觉不错,请三连,谢谢~~
乐观锁实现方式:
取出记录时,获取当前version
更新时,带上这个version
执行更新时,set version = newVersion where version = oldVersion
如果version不对,就更新失败
乐观锁:先查询,获得版本号
-- A
update user set name = "wsk",version = version+1
where id = 1 and version = 1
-- B (B线程抢先完成,此时version=2,会导致A线程修改失败!)
update user set name = "wsk",version = version+1
where id = 1 and version = 1
一、数据库添加一个字段
二、实体类添加@version注解
三、注册乐观锁插件
四、测试一下
4.1成功的乐观锁
version都是1
运行测试方法:
由1变为2
4.2失败的乐观锁
数据库的值为2