mybatis-plus樂(lè)觀鎖實(shí)現(xiàn)方式詳解
悲觀鎖、樂(lè)觀鎖簡(jiǎn)介:
悲觀鎖:同步操作。即用戶A在操作某條數(shù)據(jù)時(shí),為其上鎖,限制其他用戶操作,用戶A操作完成提交事務(wù)后其他用戶方可操作此數(shù)據(jù)。
樂(lè)觀鎖:使用版本控制字段。更新某條數(shù)據(jù)時(shí),先判斷此數(shù)據(jù)的version是否符合條件,若符合則更新反之更新失敗。
mybatis-plus樂(lè)觀鎖實(shí)現(xiàn)方式
1.向數(shù)據(jù)庫(kù)中添加版本控制字段version
ALTER TABLE `user` ADD COLUMN `version` INT
2.實(shí)體類中對(duì)應(yīng)此字段添加@Version注解
特別說(shuō)明:
特別說(shuō)明:
- 支持的數(shù)據(jù)類型只有 int,Integer,long,Long,Date,Timestamp,LocalDateTime
- 整數(shù)類型下 newVersion = oldVersion + 1
- newVersion 會(huì)回寫(xiě)到 entity 中
- 僅支持 updateById(id) 與 update(entity, wrapper) 方法
- 在 update(entity, wrapper) 方法下, wrapper 不能復(fù)用!!!
3.寫(xiě)個(gè)配置類,注冊(cè)樂(lè)觀鎖插件
@Configuration @MapperScan("com.atguigu.mybatis_plus.mapper") public class MybatisPlusConfig { /** * 樂(lè)觀鎖插件 */ @Bean public OptimisticLockerInterceptor optimisticLockerInterceptor() { return new OptimisticLockerInterceptor(); } }
到此這篇關(guān)于mybatis-plus樂(lè)觀鎖實(shí)現(xiàn)方式的文章就介紹到這了,更多相關(guān)mybatis-plus樂(lè)觀鎖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中ByteArrayOutputStream亂碼問(wèn)題解決
本文主要介紹了Java中ByteArrayOutputStream亂碼問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07springboot 整合druid數(shù)據(jù)庫(kù)密碼加密功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了springboot 整合druid數(shù)據(jù)庫(kù)密碼加密功能的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01項(xiàng)目連接nacos配置中心報(bào)錯(cuò):Client not connected, current
這篇文章主要介紹了項(xiàng)目連接nacos配置中心報(bào)錯(cuò):Client not connected, current status:STARTING的解決方案,采用了mysql作為持久化的數(shù)據(jù)庫(kù),docker作為運(yùn)行的環(huán)境,感興趣的朋友跟隨小編一起看看吧2024-03-03MyBatis-Plus分頁(yè)時(shí)排序的實(shí)現(xiàn)方法
這篇文章主要介紹了MyBatis-Plus分頁(yè)時(shí)的排序,分頁(yè)時(shí)排序的方法,后端OrderItems排序、Wrapper排序前端指定排序,文章結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03Spring Cache與Redis結(jié)合的使用方式
這篇文章主要介紹了Spring Cache與Redis結(jié)合的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12