在写入数据库的时候需要有锁,比如同时写入数据库的时候会出现丢数据,那么就需要锁机制。执行完成后下一条数据可以继续。 他们实现的方式上有所不同,乐观锁采用版本号的方式,即当前版本号如果对应上了就可以写入数据,如果判断当前版本号不一致,那么就不会更新成功,比如 update table set column = value where version=${version} and otherKey = ${otherKey}。 aspect包: 用于对自定义注解进行切面。 DblockApplication: springboot的启动类。 DblockApplicationTests: 测试类。采用乐观锁的时候,因为版本号的匹配关系,那么会有一些记录丢失,但是这两个表的数据是可以对应上的。我设置了最大重试次数5,然后超过5次后就不再重试。 大致思路是这样了,欢迎拍砖。
暂无评论