فهرست منبع

添加虚谷数据库分页支持

木目 5 سال پیش
والد
کامیت
2913e5e09f

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

@@ -69,6 +69,10 @@ public enum DbType {
      * DM
      * DM
      */
      */
     DM("dm", null, "达梦数据库"),
     DM("dm", null, "达梦数据库"),
+    /**
+     * xugu
+     */
+    XUGU("xugu","%s LIKE CONCAT(CONCAT('%%',#{%s}),'%%')","虚谷数据库"),
     /**
     /**
      * UNKONWN DB
      * UNKONWN DB
      */
      */

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

@@ -122,6 +122,8 @@ public class DialectFactory {
                 return new SQLiteDialect();
                 return new SQLiteDialect();
             case DM:
             case DM:
                 return new DmDialect();
                 return new DmDialect();
+            case XUGU:
+                return new XuguDialect();
             default:
             default:
                 throw ExceptionUtils.mpe("The Database's IDialect Not Supported!");
                 throw ExceptionUtils.mpe("The Database's IDialect Not Supported!");
         }
         }

+ 13 - 0
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/pagination/dialects/XuguDialect.java

@@ -0,0 +1,13 @@
+package com.baomidou.mybatisplus.extension.plugins.pagination.dialects;
+
+import com.baomidou.mybatisplus.core.toolkit.StringPool;
+import com.baomidou.mybatisplus.extension.plugins.pagination.DialectModel;
+
+public class XuguDialect implements IDialect{
+
+    @Override
+    public DialectModel buildPaginationSql(String originalSql, long offset, long limit) {
+        String sql = originalSql + " LIMIT " + FIRST_MARK + StringPool.COMMA + SECOND_MARK;
+        return new DialectModel(sql, offset, limit).setConsumerChain();
+    }
+}

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

@@ -62,7 +62,9 @@ public class JdbcUtils {
             return DbType.H2;
             return DbType.H2;
         } else if (jdbcUrl.contains(":dm:")) {
         } else if (jdbcUrl.contains(":dm:")) {
             return DbType.DM;
             return DbType.DM;
-        } else {
+        } else if (jdbcUrl.contains(":xugu:")){
+            return DbType.XUGU;
+        }else {
             logger.warn("The jdbcUrl is " + jdbcUrl + ", Mybatis Plus Cannot Read Database type or The Database's Not Supported!");
             logger.warn("The jdbcUrl is " + jdbcUrl + ", Mybatis Plus Cannot Read Database type or The Database's Not Supported!");
             return DbType.OTHER;
             return DbType.OTHER;
         }
         }