mybatis-plus从3.1升级到3.4.2

简介: mybatis-plus从3.1升级到3.4.2

虚荣是一件无聊的骗人的东西;得到它的人,未必有什么功德,失去它的人,也未必有什么过失。——莎士比亚

<!--    mybatis-plus    -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.2</version>
</dependency>

然后我们的租户、分页等配置需要修改为如下新写法

package com.ruben.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
import com.baomidou.mybatisplus.core.parser.ISqlParser;
import com.baomidou.mybatisplus.extension.parsers.BlockAttackSqlParser;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.tenant.TenantHandler;
import com.baomidou.mybatisplus.extension.plugins.tenant.TenantSqlParser;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.LongValue;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.List;
/**
 * @ClassName: MybatisPlusConfig
 * @Description: MybatisPlus配置
 * @Date: 2020/11/21 0021 16:34
 * *
 * @author: <achao1441470436@gmail.com>
 * @version: 1.0
 * @since: JDK 1.8
 */
@Configuration
@MapperScan("com.ruben.dao.mapper*")
public class MybatisPlusConfig {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new TenantLineInnerInterceptor(new TenantLineHandler() {
            @Override
            public Expression getTenantId() {
                return new LongValue(1);
            }
            // 这是 default 方法,默认返回 false 表示所有表都需要拼多租户条件
            @Override
            public boolean ignoreTable(String tableName) {
                return !"user".equalsIgnoreCase(tableName);
            }
        }));
        // 如果用了分页插件注意先 add TenantLineInnerInterceptor 再 add PaginationInnerInterceptor
        // 用了分页插件必须设置 MybatisConfiguration#useDeprecatedExecutor = false
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return interceptor;
    }
    @Bean
    public ConfigurationCustomizer configurationCustomizer() {
        return configuration -> configuration.setUseDeprecatedExecutor(false);
    }
}
相关文章
|
Java 数据库连接 数据库
mybatis高版本存在的问题
当mybatis的版本在3.4.0以上,查询返回值为map时: 1、当数据库中存在字段都为空的记录时,则返回值为null。 2、如果只查询某个字段,该字段对应的值为空,但数据库记录存在,此时也返回为null。
|
5月前
|
Java 数据库连接 mybatis
mybatis技术总篇
mybatis技术总篇
|
5月前
|
SQL NoSQL Java
MyBatis-Plus主要提供了哪些功能?
MyBatis-Plus主要提供了哪些功能?
52 0
|
10月前
|
SQL 缓存 Java
Mybatis基础(下)
Mybatis基础(下)
|
10月前
|
XML Java 数据库连接
Mybatis基础(上)
Mybatis基础(上)
|
SQL 缓存 Java
mybatis架构浅析
mybatis架构浅析
88 0
|
SQL Java 数据库连接
Mybatis/Mybatis-Plus基础(一)
Mybatis/Mybatis-Plus基础
79 0
|
SQL XML 缓存
Mybatis基础详细介绍
使用框架的好处就是封装了很多的细节,使得开发者可以使用既简单的方式来解决开发,大大的提高了开发的效率.
|
SQL 缓存 Java
MyBatis - 基础篇
MyBatis - 基础篇
199 0
MyBatis - 基础篇
|
SQL XML 存储