Mybatis-Plus——05,乐观锁(新注解)

这篇具有很好参考价值的文章主要介绍了Mybatis-Plus——05,乐观锁(新注解)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

乐观锁实现方式:

取出记录时,获取当前version
更新时,带上这个version
执行更新时,set version = newVersion where version = oldVersion
如果version不对,就更新失败
乐观锁:先查询,获得版本号
-- A
update user set name = "wsk",version = version+1 
where id = 1 and version = 1
-- BB线程抢先完成,此时version=2,会导致A线程修改失败!)
update user set name = "wsk",version = version+1 
where id = 1 and version = 1

一、数据库添加一个字段

Mybatis-Plus——05,乐观锁(新注解),Mybatis-Plus,mybatis,数据库,mybatis-plus,乐观锁,悲观锁

二、实体类添加@version注解

Mybatis-Plus——05,乐观锁(新注解),Mybatis-Plus,mybatis,数据库,mybatis-plus,乐观锁,悲观锁

三、注册乐观锁插件

Mybatis-Plus——05,乐观锁(新注解),Mybatis-Plus,mybatis,数据库,mybatis-plus,乐观锁,悲观锁

四、测试一下

4.1成功的乐观锁

version都是1

Mybatis-Plus——05,乐观锁(新注解),Mybatis-Plus,mybatis,数据库,mybatis-plus,乐观锁,悲观锁

运行测试方法:

Mybatis-Plus——05,乐观锁(新注解),Mybatis-Plus,mybatis,数据库,mybatis-plus,乐观锁,悲观锁由1变为2

Mybatis-Plus——05,乐观锁(新注解),Mybatis-Plus,mybatis,数据库,mybatis-plus,乐观锁,悲观锁

4.2失败的乐观锁

Mybatis-Plus——05,乐观锁(新注解),Mybatis-Plus,mybatis,数据库,mybatis-plus,乐观锁,悲观锁数据库的值为2

Mybatis-Plus——05,乐观锁(新注解),Mybatis-Plus,mybatis,数据库,mybatis-plus,乐观锁,悲观锁文章来源地址https://www.toymoban.com/news/detail-837573.html

————————
创作不易,笔记不易,如觉不错,请三连,谢谢~~

到了这里,关于Mybatis-Plus——05,乐观锁(新注解)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MyBatis-Plus 超详细笔记|配置使用|多种查询|常用注解

    Mybatis-Plus可以节省大量时间,所有的CRUD代码都可以自动化完成。 MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。其在 MyBatis 的基础上提供了很多方便的 CRUD 操作、分页查询、逻辑删除、自动填充等功能。 在Maven项目中,

    2024年02月05日
    浏览(38)
  • 2. 如何让mybatis-plus的逻辑删除注解@TableLogic临时失效

    1.1 controller代码 1.2 service层代码 1.3 entity代码 当我们正常调用接口时,sql查询日志为 数据库数据记录为: 接口调用结果为 可见逻辑删除注解已生效,is_del=1的小李没有查询出来 3.1 说明 我们让当前查询的逻辑删除失效时,不应影响其他查询活动,所以我们我们需要在线程上打

    2024年04月12日
    浏览(25)
  • 乌龙!mybatis-plus的@TableId注解不生效,原来竟是因为它!

    大家觉得下面的sql返回什么?   答案: 无返回。因为 null=1 是个false的表达式。这就像我们写 where 1=2 一样。   本次迭代的需求开发完成,将开发分支merge到test分支,部署测试环境提测后,QA提了一个bug,附下面log截图。 通过logtrace排查程序,定位到如下代码。代码很简单,

    2024年02月05日
    浏览(28)
  • SpringBoot+MyBatis-Plus多数据源@DS注解失效的解决方法

    引入 dynamic-datasource: application.yml 数据源配置: 详细使用请看 MyBatis-Plus官网 这种场景还是比较常见,比如在一个为master数据源的调用slave数据源就会失效 slave数据源Service方法 mater数据源Service方法调用slave数据源Service方法 这里会出现没有走slave_1,依然还是master数据源 需要在

    2024年01月18日
    浏览(43)
  • 在mybatis-plus项目中自带要编写sql语句,@select注解的使用

    提示:在mybatisplus中编写sql语句有两种方法,我重点使用@select注释这种方法,还有一种是增加mapper.xml文件配置,这里不做讲解 现在mybatis-plus中已经封装了绝大部分简单sql,只用一部分负责sql需要自行编写,所以用@select的方式可以减少开发量,减少项目的复杂性。 @select是myb

    2023年04月12日
    浏览(37)
  • springboot mybatis-plus数据库超时配置

    超时异常 写XML 写法,单位秒 Mapper类写法,单位秒 超时异常 整个事务的超时时间,单位是秒。 它的原理大致是事务启动时,事务上下文会计算一个到期时间deadLine(当前时间+超时时间),当mybatis - prepareStatement时,会调用 SpringManagedTransaction 的getTimeOut,该方法会计算事务剩

    2024年02月03日
    浏览(43)
  • Spring Boot + MyBatis-Plus实现数据库读写分离

    🎉Spring Boot + MyBatis-Plus实现数据库读写分离 ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹 ✨博客主页:IT·陈寒的博客 🎈该系列文章专栏:架构设计 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习 🍹文章作者技术和水平有限,如果文中出现错误,希望

    2024年02月05日
    浏览(54)
  • MyBatis-Plus 查询PostgreSQL数据库jsonb类型保持原格式

    在这篇文章,我们保存了数据库的jsonb类型:MyBatis-Plus 实现PostgreSQL数据库jsonb类型的保存与查询 这篇文章介绍了模糊查询json/jsonb类型:PostgreSQL 查询json/jsonb是否存在某个片段 在模糊查询json/jsonb之前,我们得拿到正确的json/jsonb片段,比如我们模糊查询好几个连着的键值对,

    2024年02月15日
    浏览(42)
  • 【Mybatis-Plus】mybatisplus更新时,实体字段为空,数据库不更新的解决方案

    项目技术栈:jdk (1.8) + spring boot (2.1.0) + mybatis-plus (3.5.1) 数据库: MySQL 字段类型:varchar 和 Integer 从前端传过来的数据实体字段, convertType 和 step 设为null时,使用mybatis-plus 的 updateById方法往数据库中更新时,这两个字段不更新,数据不为空可以插入。 mybatis-plus在更新的时候做

    2024年01月16日
    浏览(52)
  • spring boot shardingsphere mybatis-plus druid mysql 搭建mysql数据库读写分离架构

    ##关于window mysql主从搭建简单教程 传送门 window mysql5.7 搭建主从同步环境-CSDN博客 ##父pom.xml ##模块pom.xml ##yml配置 ##mapper.xml ##TestMapper ##TestService ##TestController ##浏览器访问 ##数据库

    2024年01月21日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包