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