MYBATIS_PLUS中关于锁的应用

本文介绍了MYBATIS_PLUS中乐观锁的应用,通过添加version字段实现乐观锁机制,将其与CAS机制进行对比,并展示了如何在实体类中添加字段及使用乐观锁插件进行操作。还详细说明了如何利用Wrapper组装查询条件,实现查询和删除条件的拼接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.乐观锁的应用。
乐观锁是低并发的情况可以处理
在这里插入图片描述
添加version字段,乐观锁。
在这里插入图片描述
这就是乐观锁。乐观锁默认是0
这个version一定要取出来,拿出来时候
看看,更新时候看看version是不是和我们取出来时候是一致的。这就是乐观锁。

在这里插入图片描述
这个和CAS机制几乎一模一样。

独占锁是一种悲观锁,而 synchronized 就是一种独占锁,synchronized 会导致其它所有未持有锁的线程阻塞,而等待持有锁的线程释放锁。

     所谓乐观锁就是,每次不加锁而是假设没有冲突而去完成某项操作,如果更新数据之前,验证一下,有没有冲入,如果因为冲突失败就重试,直到成功为止。而乐观锁用到的机制就是CAS。

当然一系列操作并不需要你自己去做
都是Mybatis机制去做的。

关于乐观锁如何去做
我们这里实现了一些
1.首先实体类里面加上version字段
在这里插入图片描述
在这里插入图片描述
添加乐观锁插件。
在这里插入图片描述

然后就可以用了。

Wrapper一个用来处理查询条件的。
在这里插入图片描述
新的条件。
拼装查询语句的
在这里插入图片描述
在这里插入图片描述
可以很明显看到拼成这样的查询语句,
拼在AND后面了
两个参数,一个是行,另一个是like什么。
在这里插入图片描述
串联之后进行链式编程,无非就是加AND而已。
在这里插入图片描述
可以去组装一下删除条件
queryWrapper是拼装查询条件的,查询的条件从queryWrapper中去拼接到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值