miemie hace 4 años
padre
commit
efe97eee58

+ 1 - 1
TEMP_CHANGELOG.md

@@ -4,7 +4,7 @@
 - feat: mybatis up to `3.5.5`, mybatis-spring up to `2.0.5`
 - feat: jsqlparser up to `3.2`
 - feat: 新增 `MybatisParameterHandler` 并废弃老的 `MybatisDefaultParameterHandler`
-- feat: 分页方言加入 gbase,clickhouse,oscar 支持
+- feat: 分页插件加入 GBase,ClickHouse,oscar,OceanBase 数据库连接自动识别的支持
 - feat: Wrapper 新增api `not(boolean condition, Consumer<Param> consumer)`
 - feat: 新增 `MybatisPlusInterceptor` 解决 多租户和分页 插件一级和二级缓存不正确问题
 - feat: 新分页插件优化 size<0 时继续拼接 orderBy

+ 6 - 2
mybatis-plus-annotation/src/main/java/com/baomidou/mybatisplus/annotation/DbType.java

@@ -93,9 +93,9 @@ public enum DbType {
      */
     GAUSS("zenith", "Gauss 数据库"),
     /**
-     * clickhouse
+     * ClickHouse
      */
-    CLICKHOUSE("clickhouse", "clickhouse 数据库"),
+    CLICK_HOUSE("clickhouse", "clickhouse 数据库"),
     /**
      * GBase
      */
@@ -108,6 +108,10 @@ public enum DbType {
      * Sybase
      */
     SYBASE("sybase", "Sybase ASE 数据库"),
+    /**
+     * OceanBase
+     */
+    OCEAN_BASE("oceanbase", "OceanBase 数据库"),
     /**
      * UNKONWN DB
      */

+ 2 - 1
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/pagination/dialects/DialectRegistry.java

@@ -39,7 +39,8 @@ public class DialectRegistry {
         dialect_enum_map.put(DbType.GBASE, new MySqlDialect());
         dialect_enum_map.put(DbType.OSCAR, new MySqlDialect());
         dialect_enum_map.put(DbType.XU_GU, new MySqlDialect());
-        dialect_enum_map.put(DbType.CLICKHOUSE, new MySqlDialect());
+        dialect_enum_map.put(DbType.CLICK_HOUSE, new MySqlDialect());
+        dialect_enum_map.put(DbType.OCEAN_BASE, new MySqlDialect());
         // postgresql and children
         dialect_enum_map.put(DbType.POSTGRE_SQL, new PostgreDialect());
         dialect_enum_map.put(DbType.H2, new PostgreDialect());

+ 3 - 1
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/toolkit/JdbcUtils.java

@@ -93,11 +93,13 @@ public class JdbcUtils {
         } else if (jdbcUrl.contains(":gbase:")) {
             return DbType.GBASE;
         } else if (jdbcUrl.contains(":clickhouse:")) {
-            return DbType.CLICKHOUSE;
+            return DbType.CLICK_HOUSE;
         } else if (jdbcUrl.contains(":oscar:")) {
             return DbType.OSCAR;
         } else if (jdbcUrl.contains(":sybase:")) {
             return DbType.SYBASE;
+        } else if (jdbcUrl.contains(":oceanbase:")) {
+            return DbType.OCEAN_BASE;
         } else {
             logger.warn("The jdbcUrl is " + jdbcUrl + ", Mybatis Plus Cannot Read Database type or The Database's Not Supported!");
             return DbType.OTHER;