浏览代码

feat: #1895 auto detect:oracle12c dialect

yuxiaobin 5 年之前
父节点
当前提交
b7897daaea

+ 9 - 8
mybatis-plus-annotation/src/main/java/com/baomidou/mybatisplus/annotation/DbType.java

@@ -15,12 +15,12 @@
  */
 package com.baomidou.mybatisplus.annotation;
 
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
 /**
  * MybatisPlus 数据库类型
  *
@@ -30,6 +30,7 @@ import java.util.concurrent.ConcurrentHashMap;
 @Getter
 @AllArgsConstructor
 public enum DbType {
+
     /**
      * MYSQL
      */
@@ -41,11 +42,11 @@ public enum DbType {
     /**
      * ORACLE
      */
-
-    ORACLE("oracle", "Oracle数据库", "com.baomidou.mybatisplus.extension.plugins.pagination.dialects.OracleDialect"),
-
-
-    ORACLE_NEW("oracleNew", "Oracle新版数据库","com.baomidou.mybatisplus.extension.plugins.pagination.dialects.OracleNewDialect"),
+    ORACLE("oracle", "Oracle11g及以下数据库(高版本推荐使用ORACLE_NEW)", "com.baomidou.mybatisplus.extension.plugins.pagination.dialects.OracleDialect"),
+    /**
+     * oracle12c new pagination
+     */
+    ORACLE_12C("oracle12c", "Oracle12c+数据库","com.baomidou.mybatisplus.extension.plugins.pagination.dialects.Oracle12cDialect"),
 
     /**
      * DB2

+ 21 - 5
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/DbTypeTest.java

@@ -15,13 +15,29 @@
  */
 package com.baomidou.mybatisplus.test;
 
-import com.baomidou.mybatisplus.annotation.DbType;
-import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.*;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
+import com.baomidou.mybatisplus.annotation.DbType;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.DB2Dialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.DmDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.H2Dialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.HSQLDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.IDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.KingbaseDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.MariaDBDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.MySqlDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.Oracle12cDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.OracleDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.PostgreDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.SQLServer2005Dialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.SQLServerDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.SQLiteDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.UnknownDialect;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.XuGuDialect;
 
 /**
  * @author nieqiuqiu
@@ -37,7 +53,7 @@ class DbTypeTest {
         DIALECT_MAP.put(DbType.MYSQL, MySqlDialect.class);
         DIALECT_MAP.put(DbType.MARIADB, MariaDBDialect.class);
         DIALECT_MAP.put(DbType.ORACLE, OracleDialect.class);
-        DIALECT_MAP.put(DbType.ORACLE_NEW, OracleNewDialect.class);
+        DIALECT_MAP.put(DbType.ORACLE_12C, Oracle12cDialect.class);
         DIALECT_MAP.put(DbType.POSTGRE_SQL, PostgreDialect.class);
         DIALECT_MAP.put(DbType.SQL_SERVER, SQLServerDialect.class);
         DIALECT_MAP.put(DbType.SQL_SERVER2005, SQLServer2005Dialect.class);