官网: MyBatis-Plus
乐观锁
乐观锁:乐观,总是认为不会出现问题,无论干什么都不会上锁!如果 出现了问题,再次更新值测试。 version、new version
悲观锁:悲观,总是认为到处都是问题,无论干什么都会上锁!
乐观锁机制
实现方式:
- 取出记录时,获取当前的version
- 更新时,带上这个version
- 执行更新时,set version = newVersion where version = oldVersion
- 如果version不对,就更新失败
sql语句:
update user set name = 'update',version = newVersion where id = 100 and version = oldVersion
MyBatisPlus使用乐观锁
-
在数据库中添加version字段,默认值为1
-
在pojo实体类中添加version属性,并标注@version注解
@Version private Integer version;
-
注册乐观锁插件
- springboot注册