Sfoglia il codice sorgente

20231120 添加 Trino,Presto 数据库分页语句组装实现(已在项目中验证)

hushunbo 1 anno fa
parent
commit
0a55012902

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

@@ -194,6 +194,14 @@ public enum DbType {
      * lealone
      */
     LEALONE("lealone", "Lealone数据库"),
+    /**
+     * trino
+     */
+    TRINO("trino", "trino数据库"),
+    /**
+     * trino
+     */
+    PRESTO("Presto", "Presto数据库"),
     /**
      * UNKNOWN DB
      */

+ 4 - 0
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/pagination/DialectFactory.java

@@ -18,6 +18,7 @@ package com.baomidou.mybatisplus.extension.plugins.pagination;
 import com.baomidou.mybatisplus.annotation.DbType;
 import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.*;
+import com.cq.idp.config.TrinoDialect;
 
 import java.util.EnumMap;
 import java.util.Map;
@@ -94,6 +95,9 @@ public class DialectFactory {
                 dialect = new GBase8sDialect();
             } else if (dbType == DbType.INFORMIX) {
                 dialect = new InformixDialect();
+            } else if (dbType == DbType.TRINO
+                || dbType == DbType.PRESTO) {
+                dialect = new TrinoDialect();
             }
             DIALECT_ENUM_MAP.put(dbType, dialect);
         }

+ 4 - 0
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/toolkit/JdbcUtils.java

@@ -139,6 +139,10 @@ public class JdbcUtils {
             return DbType.SINODB;
         } else if (url.contains(":uxdb:")) {
             return DbType.UXDB;
+        } else if (url.contains(":trino:")) {
+            return DbType.TRINO;
+        } else if (url.contains(":presto:")) {
+            return DbType.PRESTO;
         } else {
             logger.warn("The jdbcUrl is " + jdbcUrl + ", Mybatis Plus Cannot Read Database type or The Database's Not Supported!");
             return DbType.OTHER;