From e78e79a565184e0d89124abbcb5bf3200c2cb8f6 Mon Sep 17 00:00:00 2001 From: zenglf <18502938215@163.com> Date: 星期一, 04 九月 2023 14:19:43 +0800 Subject: [PATCH] 增加数据库厂商标识 ,支持在SQL中设置不同数据databaseId,进行多数据库支持。(主要用于应对不同数据库间的函数差异) --- lxzn-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisPlusSaasConfig.java | 34 ++++++++++++++++++++++++---------- 1 files changed, 24 insertions(+), 10 deletions(-) diff --git a/lxzn-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisPlusSaasConfig.java b/lxzn-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisPlusSaasConfig.java index f7aff80..2f76ad5 100644 --- a/lxzn-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisPlusSaasConfig.java +++ b/lxzn-boot-base-core/src/main/java/org/jeecg/config/mybatis/MybatisPlusSaasConfig.java @@ -1,10 +1,15 @@ package org.jeecg.config.mybatis; -import java.util.ArrayList; -import java.util.List; - import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler; import com.baomidou.mybatisplus.extension.plugins.inner.DynamicTableNameInnerInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor; +import net.sf.jsqlparser.expression.Expression; +import net.sf.jsqlparser.expression.LongValue; +import org.apache.ibatis.mapping.DatabaseIdProvider; +import org.apache.ibatis.mapping.VendorDatabaseIdProvider; import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.util.oConvertUtils; @@ -12,13 +17,9 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; -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 net.sf.jsqlparser.expression.Expression; -import net.sf.jsqlparser.expression.LongValue; +import java.util.ArrayList; +import java.util.List; +import java.util.Properties; /** * 鍗曟暟鎹簮閰嶇疆锛坖eecg.datasource.open = false鏃剁敓鏁堬級 @@ -46,6 +47,19 @@ // tenantTable.add("sys_depart"); } + /** + 涓轰簡閰嶇疆绠$悊鎴戞妸杩欐浠g爜鍔犲叆鍒颁簡 MybatisPlusConfig 涓� + */ + @Bean + public DatabaseIdProvider databaseIdProvider() { + VendorDatabaseIdProvider databaseIdProvider = new VendorDatabaseIdProvider(); + Properties properties = new Properties(); + properties.setProperty("SQL Server", "sqlserver"); + properties.put("Oracle","oracle"); + properties.put("MySQL","mysql"); + databaseIdProvider.setProperties(properties); + return databaseIdProvider; + } @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { -- Gitblit v1.9.3