@Version乐观锁配置mybatis-plus使用(version)

1:首先在实体类的属性注解上使用@Version

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * @Description: 访客数据
 * @Author: xqf
 * @Date:   2023-07-27
 * @Version: V1.0
 */
@Data
@TableName("sys_visitant_data")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="sys_visitant_data对象", description="访客数据")
public class SysVisitantData {

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
	private String id;
	/**访客openId*/
	@Excel(name = "访客openId", width = 15)
	@ApiModelProperty(value = "访客openId")
	private String visitantOpenId;
	@Version
	private Long version;
}

2:在数据库表中添加version字段,注意实体类使用是long和int类型(和默认值为0)

在这里插入图片描述

3:在mybatis-plus拦截器中添加OptimisticLockerInnerInterceptor()乐观锁拦截器

@Configuration
@MapperScan(value={"org.demo.modules.**.mapper*"})
public class MybatisConfig {
@Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        MybatisPlusInterceptor interceptor= new MybatisPlusInterceptor();
        //添加分页拦截器
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        //添加乐观锁拦截器
        interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
        return interceptor;
    }
}

4:demo(version字段版本会自动每次加一操作)

@PostMapping("/apply2")
    public Result<?> apply2() {
        SysVisitantData visitantData = sysVisitantDataService.getById("1724065295435689986");
        Integer visitantNumber = visitantData.getVisitantNumber();
        System.out.println("开始#2:" + visitantNumber);
        visitantData.setVisitantNumber(visitantNumber + 5);
        boolean flag = sysVisitantDataService.updateById(visitantData);
        if (!flag){
            throw new JeecgBootException("2保存失败");
        }
        System.out.println("更新#2:" + visitantData.getVisitantNumber());
        return Result.OK();
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/153500.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

EtherNET转Profibus网关使用欧姆龙PLC的配置方法

兴达易控EtherNET转Profibus网关&#xff08;XD-EPPB20&#xff09;是一款具有 Profibus 从站功能的通讯网关。EtherNET转Profibus网关主要功能是将 EtherNET/IP 设备接入到 PROFIBUS 网络中。 本网关连接到 Profibus 总线中做为从站使用&#xff0c;连接到 EtherNET/IP 总线中…

2023年亚太杯数学建模思路 - 复盘:光照强度计算的优化模型

文章目录 0 赛题思路1 问题要求2 假设约定3 符号约定4 建立模型5 模型求解6 实现代码 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 问题要求 现在已知一个教室长为15米&#xff0c;宽为12米&…

微星迫击炮b660m使用intel arc a750/770显卡功耗优化方法

bios 优化: 1,开机后持续点击“delete”键直到进入微星bios。 2,点击右上角选择我们熟悉的中文。 3,点击Settings--->高级---> pcie/Pci子系统设置 4,Native PCIE Enable : Enabled Native Aspm:允许

nginx服务器配置http/2

nginx服务器配置http/2 文章目录 nginx服务器配置http/21.安装nginx2.ssl证书2.1 创建ssl证书 3.配置nginx3.1 配置http/2 4.保存配置文件5.重启nginx6.测试 1.安装nginx 如果你没有安装nginx&#xff0c;可以参考这里&#xff1a;nginx教程 2.ssl证书 如果你没有ssl证书&…

全国各区县日照时长数据,逐月数据均有!

今天给大家分享的是全国各区县日照时长月数据&#xff0c;包括不同月份不同地区的日照时长。这些数据可以帮助我们了解不同地区在不同月份的日照情况&#xff0c;为能源利用、农业生产和气候变化研究提供参考。 基本信息 数据名称: 全国各区县日照时长月数据 数据格式: shpex…

鸿蒙LiteOs读源码教程+向LiteOS中添加一个系统调用

本文分为2个部分&#xff1a;第1部分简要介绍如何读鸿蒙Liteos源码&#xff0c;第2部分是实验向LiteOS中添加一个系统调用的完整过程。 前置资料&#xff1a; imx6ull开发板使用方式详解 源码下载 编译运行简单程序 Ubuntu虚拟机使用鸿蒙LiteOs操作系统常见错误汇总 一、鸿…

免费的网页采集器工具推荐有哪些

免费好用的全自动网页采集器工具有哪些&#xff1f; 本文精心挑选出三款主流优秀的数据采集器软件&#xff0c;列举出它们的差异和各自的优缺点&#xff0c;希望能帮助您找到最符合您需求的采集工具&#xff01; 目录 1. 火车头采集器工具 火车头采集器软件优点 不足之处 …

杨辉三角00

题目链接 杨辉三角 题目描述 注意点 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和 解答思路 从第一行开始&#xff0c;根据前一行计算该行的值 代码 class Solution {public List<List<Integer>> generate(int numRows) {List<List<…

5.0 Java API

API&#xff08;Application Programming Interface&#xff09;指的是应用程序编程接口&#xff0c;API可以让编程变得更加方便简单。Java也提供了大量API供程序开发者使用&#xff0c;即Java API。Java API指的就是JDK提供的各种功能的Java类库&#xff0c;如之前所讲的Array…

蒸汽流量计量表

数字化场景&#xff1a;蒸汽监测 定义 监测蒸汽流量 单位是 立方米 很难计算 等效碳排 不是按楼&#xff0c;也不是按层&#xff0c;比如宁波某园区&#xff0c;就6个蒸汽流量表 看懂蒸汽表&#xff0c;了解蒸发焓或潜热(hfg) 由于水是从0C加热到饱和温度的&#xff0c;它…

一招告别百度广告烦恼,同时效率提高100倍的几个常用搜索技巧!

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推荐--…

制作企业期刊的必备工具,这个很强!

制作企业期刊是一项重要的任务&#xff0c;它不仅可以帮助企业展示自己的品牌形象&#xff0c;还可以促进内部员工的交流和合作。为了制作出一份高质量的企业期刊&#xff0c;你需要一些必备的工具。今天&#xff0c;给大家分享一款实用的工具-------FLBOOK在线制作电子杂志平台…

记忆化搜索

记忆化搜索 在递归过程中&#xff0c;有许多分支被反复计算&#xff0c;会大大降低算法的执行效率。用记忆搜索&#xff0c;讲已经计算出来的结果保存起来&#xff0c;以后需要用到直接去除结果&#xff0c;避免重复运算。 题目链接 数不清的数 原本的代码 外面一层t的whil…

【献给过去的自己】栈实现计算器(C语言)

背景 记得在刚学C语言时&#xff0c;写了一篇栈实现计算器-CSDN博客文章。偶然间看到了文章的阅读量以及评论&#xff0c;居然有1.7w的展现和多条博友的点评&#xff0c;反馈。 现在回过头来看&#xff0c;的确有许多不严谨的地方&#xff0c;毕竟当时分享文章时&#xff0c;还…

SAP PI/PO中使用UDF解决按字节拆分字符串的需求

需求背景&#xff1a; SAP需要将采购订单信息通过PI发送到SFTP服务器上&#xff0c;生成文件&#xff0c;一般对日项目上文件内容通常都是按照指定的字节数拆分的&#xff0c;而不是字符数&#xff0c;类似下面的格式。 问题点&#xff1a; 如果是使用FTP适配器&#xff0c;则…

教你简单几步,轻松下载微信视频号里的视频

在如今社交媒体上&#xff0c;视频内容越来越受到人们的喜爱。微信视频号作为一个新兴平台&#xff0c;以其丰富的视频内容吸引着越来越多的用户。然而&#xff0c;许多人在观看完喜欢的视频后&#xff0c;都希望能够将其下载到本地进行保存或分享。那么&#xff0c;微信视频号…

联想领像M102W激光打印机报错E0问题的描述

速印机(理想、荣大等)、复印机(夏普、东芝、理光、佳能、震旦等全系列)、打印机、扫描仪、传真机、多媒体教学一体机、交互式电子白板、报警器材、监控、竞业达监考设备及其它监考设备、听力考试设备、特种安防设备维护及维修。 联想领像M102W打印机是理光SP系列的衍生机器…

gamingtcui.dll 丢失的全面解决方案指南,快速修复gamingtcui.dll文件

在使用计算机进行工作或娱乐时&#xff0c;我们可能会遇到一些需要技术解决的问题。其中&#xff0c;"gamingtcui.dll找不到"是一种比较常见的DLL文件相关的问题&#xff0c;许多用户在面对它时会感到疑惑&#xff0c;首先&#xff0c;我们需要理解问题的本质 —— 什…

《洛谷深入浅出进阶篇》P1995 程序自动分析——并查集,离散化

上链接&#xff1a;P1955 [NOI2015] 程序自动分析 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1955 上题干&#xff1a; 首先给你一个整数t&#xff0c;代表t次操作。 每一次操作包含以下内容&#xff1a; 1.给你一个整数n&#xff0c;让…

挖掘PostgreSQL事务的“中间态”----更加严谨的数据一致性?

1.问题 今天在上班途中&#xff0c;中心的妹纸突然找我&#xff0c;非常温柔的找我帮忙看个数据库的报错。当然以我的性格&#xff0c;妹子找我的事情对我来说优先级肯定是最高的&#xff0c;所以立马放下手中的“小事”&#xff0c;转身向妹子走去。具体是一个什么样的问题呢…