mybatis-plus的乐观锁
乐观锁
乐观锁:它总是认为不会出现问题,无论干什么都不会上锁,如果出现了问题,再次更新测试。乐观锁假设数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测
悲观锁:它总是认为总是会出现,无论干什么都会上锁,再去操作。当要对数据库中的一条数据进行修改的时候,为了避免同时被其他人修改,最好的办法就是直接对该数据进行加锁以防止并发。这种借助数据库锁机制,在修改数据之前先锁定,再修改的方式被称之为悲观并发控制。
当要更新一条记录的时候,希望这条记录没有被别人更新
乐观锁实现方式:
取出记录时,获取当前version
1.更新时,带上这个version
2.执行更新时, set version = newVersion where version = oldVersion
3.如果version不对,就更新失败
mybatis-plus配置乐观锁
1.数据库表添加version字段
2.在实体类上添加version且加上@Version注解