乐观锁(新注解)
乐观锁实现方式:
取出记录时,获取当前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