栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mybatis-plus关于乐观锁、SQL分析插件的应用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mybatis-plus关于乐观锁、SQL分析插件的应用

1、乐观锁:OptimisticLockerInterceptor,就是在更新数据的时候,根据版本号,来判断是否为更新的版本,若为更新指定的版本一致,则更新,否则则否。
在实体类添加版本号属性,属性上添加注解@Version
数据库字段的版本号必须为int类型,否则更新后不会自增版本
2、SQL分析插件:SqlExplainInterceptor分析是否有垃圾sql执行,有的话会报错拦截


代码
(1)添加配置文件
在MybatissqlSessionFactory配置下 添加


            
                
                
                
                
                
                
                    
                        
                            
                        
                    
                
            
        

(2)实体类Admin.java

@TableName("admin")
public class Admin {
    @TableId(value = "admin_account",type = IdType.NONE)
    private String adminAccount;
    private String adminPwd;
    @Version
    private Integer version;
    public Admin() {
    }

    public Admin(String adminAccount, String adminPwd) {
        this.adminAccount = adminAccount;
        this.adminPwd = adminPwd;
    }

    public String getAdminAccount() {
        return adminAccount;
    }

    public void setAdminAccount(String adminAccount) {
        this.adminAccount = adminAccount;
    }

    public String getAdminPwd() {
        return adminPwd;
    }

    public void setAdminPwd(String adminPwd) {
        this.adminPwd = adminPwd;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public Admin(String adminAccount, String adminPwd, Integer version) {
        this.adminAccount = adminAccount;
        this.adminPwd = adminPwd;
        this.version = version;
    }
}

(3)测试类

public class MyTest {
	
    @Test
    public void test05(){
        AdminDao bean = applicationContext.getBean(AdminDao.class);
        Admin admin = new Admin();
        admin.setAdminAccount("2333");
        admin.setAdminPwd("5442");
        admin.setVersion(1);
        QueryWrapper queryWrapper = new QueryWrapper();
        queryWrapper.eq("admin_account",admin.getAdminAccount());
        int update = bean.update(admin, queryWrapper);
        System.out.println(update);
    }

    
    @Test
    public void test06(){
        AdminDao bean = applicationContext.getBean(AdminDao.class);
        Admin admin = new Admin();
        admin.setAdminAccount("2333");
        admin.setAdminPwd("5442");
        admin.setVersion(2);
        QueryWrapper queryWrapper = new QueryWrapper();
        queryWrapper.or();
        int update = bean.update(admin, queryWrapper);
        System.out.println(update);
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/781526.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号