1.乐观锁的应用。
乐观锁是低并发的情况可以处理
添加version字段,乐观锁。
这就是乐观锁。乐观锁默认是0
这个version一定要取出来,拿出来时候
看看,更新时候看看version是不是和我们取出来时候是一致的。这就是乐观锁。
这个和CAS机制几乎一模一样。
独占锁是一种悲观锁,而 synchronized 就是一种独占锁,synchronized 会导致其它所有未持有锁的线程阻塞,而等待持有锁的线程释放锁。
所谓乐观锁就是,每次不加锁而是假设没有冲突而去完成某项操作,如果更新数据之前,验证一下,有没有冲入,如果因为冲突失败就重试,直到成功为止。而乐观锁用到的机制就是CAS。
当然一系列操作并不需要你自己去做
都是Mybatis机制去做的。
关于乐观锁如何去做
我们这里实现了一些
1.首先实体类里面加上version字段
添加乐观锁插件。
然后就可以用了。
Wrapper一个用来处理查询条件的。
新的条件。
拼装查询语句的
可以很明显看到拼成这样的查询语句,
拼在AND后面了
两个参数,一个是行,另一个是like什么。
串联之后进行链式编程,无非就是加AND而已。
可以去组装一下删除条件
queryWrapper是拼装查询条件的,查询的条件从queryWrapper中去拼接到。