博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MP实战系列(十七)之乐观锁插件
阅读量:6249 次
发布时间:2019-06-22

本文共 809 字,大约阅读时间需要 2 分钟。

声明,目前只是仅仅针对3.0以下版本,2.0以上版本。

意图:

当要更新一条记录的时候,希望这条记录没有被别人更新

乐观锁实现方式:

取出记录时,获取当前version更新时,带上这个version执行更新时, set version = yourVersion+1 where version = yourVersion如果version不对,就更新失败

第一步,配置

SSM框架(Spring+SpringMVC+MyBatis-Plus):

spring-mybatis.xml配置:

SpringBoot配置:

@Bean

public OptimisticLockerInterceptor optimisticLockerInterceptor() {    return new OptimisticLockerInterceptor();}

第二步,加上注解

public class User {

@Versionprivate Integer version;

}

特别说明: 仅支持int,Integer,long,Long,Date,Timestamp

测试代码:

int id = 100;

int version = 2;

User u = new User();

u.setId(id);
u.setVersion(version);

if(userService.updateById(u)){

System.out.println("Update successfully");

}else{

System.out.println("Update failed due to modified by others");

}

示例SQL原理:

update tbl_user set name='update',version=3 where id=100 and version=2;

转载地址:http://fngia.baihongyu.com/

你可能感兴趣的文章
网站加载不了 图片
查看>>
u盘安装ubuntu12.04LTS及手动下载安装eclipse
查看>>
sqlserver2000系统表sysproperties在SQL2008中无效的问题
查看>>
关系数据库常用SQL语句语法大全
查看>>
对mybastis 的理解2--BaseDao接口方法声明
查看>>
我的友情链接
查看>>
活动目录相关的面试题(上)
查看>>
Slackware64安装32位库和rtx
查看>>
MVC3----AJAX辅助方法
查看>>
windows 2012添加桌面图标
查看>>
maven 下载 源码和javadoc命令
查看>>
获取链接参数
查看>>
vim的增强功能
查看>>
HTTP statusCode 各状态值,说明
查看>>
译:Hibernate Search - Getting started(Chapter 2)
查看>>
Redis data structure design for sorting time-based values
查看>>
vim 参考手册
查看>>
symfony1.4下使用登陆验证码
查看>>
截图软件
查看>>
可以直接拿来用的15个jQuery代码片段(收藏!!!)
查看>>