mybatis中的三种锁
Mybatis中的三种锁是:
-
悲观锁:通过数据库的行级锁实现,当一个事务正在修改某一行数据时,另一个事务无法修改该行数据,直到第一个事务提交或回滚。可以使用SELECT … FOR UPDATE语句来实现悲观锁。
-
乐观锁:通过版本号或时间戳等机制实现,每次更新操作时先查询出当前数据的版本号或时间戳,更新时检查是否与之前查询到的版本号或时间戳一致,如果一致则更新成功,否则更新失败。可以使用UPDATE … SET … WHERE … AND version=xxx语句来实现乐观锁。
-
共享锁:通过数据库的共享锁实现,当一个事务正在读取某一行数据时,另一个事务也可以读取该行数据,但不能修改该行数据,直到第一个事务提交或回滚。可以使用SELECT … FOR SHARE语句来实现共享锁。
原文地址: https://www.cveoy.top/t/topic/bFkf 著作权归作者所有。请勿转载和采集!