mybatis-plus中使用乐观锁

工程结构

在这里插入图片描述

配置mybatis-plus乐观锁插件

/**
 * Copyright (c) 2020 ucsmy.com, All rights reserved.
 */
package com.example.mybatisplusdemo.config;

import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

// mp的乐观锁插件
@Configuration
public class MybatisConfig
{
    @Bean
    public OptimisticLockerInterceptor optimisticLockerInterceptor() {
        return new OptimisticLockerInterceptor();
    }
}

实体类中添加version字段与注解

@Data
public class User
{
    private String id;
    @TableField("USER_NAME")
    private String userName1;
    private String address;
    // 版本号,用于实现乐观锁,数据库中也增加相应的version字段
    @Version // 这个注解是关键
    private Integer version;
}

测试代码

@Test
	// 乐观锁测试
	void testLock()
	{
		// 先查询user
		User user = mapper.selectById("1");
		// 然后更新
		user.setUserName1("gunsmokefgsgsgs");
		mapper.updateById(user);
	}

更新后数据库中version字段自动加1

发布了236 篇原创文章 · 获赞 10 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/gunsmoke/article/details/105160513