什么是悲观锁?什么又是乐观锁?
悲观锁是为了保证数据不被另外修改而增加的一种锁,具有独占性和排他性,在整个处理过程中数据都是被锁住的。适合于读少写多的情况。
乐观锁是在数据提交修改的时候通过一种机制去验证数据是否已经被修改。适合于读多写少的情况。
数据库的乐观锁
一般通过数据版本或者时间戳来实现。
mybatis-plus中的乐观锁支持
-
增加乐观锁拦截器
-
在表中增加version字段
其实字段名也可以不叫version,下面在实体类中指定即可 -
实体类增加version映射
-
测试
测试中数据未成功更新,因为目前数据库中相关记录的version=1
-
再次测试
查看数据库记录,可以看到user_name被修改了,同时version也+1了。