其中事务1先修改了,修改后再看版本号是1.1,于是提交修改数据,将版本号修改为1.2
其中事务2后修改的,修改之后准备提交的时候,发现版本号是1.2,和它最初读的版本号不一致,回滚。
悲观锁:事务必须排队执行。数据锁住了,不允许并发。(行级锁:select后面添加for update)
乐观锁:支持并发,事务也不需要排队,只不过需要一个版本号
String sql = "select id,name,password,phone from user where password = ? for update";
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)