Browse Source

分页执行类优化

miemie 5 years ago
parent
commit
6c855953cb

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

@@ -74,7 +74,7 @@ public enum DbType {
     /**
      * xugu
      */
-    XUGU("xugu", "虚谷数据库", "com.baomidou.mybatisplus.extension.plugins.pagination.dialects.XuguDialect"),
+    XU_GU("xugu", "虚谷数据库", "com.baomidou.mybatisplus.extension.plugins.pagination.dialects.XuguDialect"),
     /**
      * UNKONWN DB
      */

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

@@ -81,7 +81,8 @@ public class PaginationInterceptor extends AbstractSqlParserHandler implements I
      */
     private long limit = 500L;
     /**
-     * 方言类型
+     * 方言类型(数据库名,全小写) <br>
+     * 如果用的我们支持分页的数据库但获取数据库类型不正确则可以配置该值进行校正
      */
     private String dialectType;
     /**

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

@@ -20,7 +20,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Assert;
 import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.IDialect;
 import org.apache.ibatis.session.RowBounds;
 
 import java.util.Map;
@@ -81,5 +81,4 @@ public class DialectFactory {
         }
         return dialect;
     }
-
 }

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

@@ -15,19 +15,11 @@
  */
 package com.baomidou.mybatisplus.extension.plugins.pagination.dialects;
 
-import com.baomidou.mybatisplus.extension.plugins.pagination.DialectModel;
-
 /**
  * SQLite 数据库分页语句组装实现
  *
  * @author hubin
  * @since 2016-01-23
  */
-public class SQLiteDialect implements IDialect {
-
-    @Override
-    public DialectModel buildPaginationSql(String originalSql, long offset, long limit) {
-        String sql = originalSql + " limit " + FIRST_MARK + " offset " + SECOND_MARK;
-        return new DialectModel(sql, limit, offset).setConsumerChain();
-    }
+public class SQLiteDialect extends PostgreDialect {
 }

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

@@ -28,5 +28,4 @@ public class UnknownDialect implements IDialect {
     public DialectModel buildPaginationSql(String originalSql, long offset, long limit) {
         throw new MybatisPlusException(" not support.");
     }
-
 }

+ 1 - 10
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/pagination/dialects/XuguDialect.java → mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/pagination/dialects/XuGuDialect.java

@@ -15,20 +15,11 @@
  */
 package com.baomidou.mybatisplus.extension.plugins.pagination.dialects;
 
-import com.baomidou.mybatisplus.core.toolkit.StringPool;
-import com.baomidou.mybatisplus.extension.plugins.pagination.DialectModel;
-
 /**
  * 虚谷数据库分页语句组装实现
  *
  * @author https://github.com/mj7788
  * @since 2019-08-29
  */
-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();
-    }
+public class XuGuDialect extends MySqlDialect {
 }

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

@@ -18,7 +18,6 @@ package com.baomidou.mybatisplus.extension.toolkit;
 import com.baomidou.mybatisplus.annotation.DbType;
 import com.baomidou.mybatisplus.core.toolkit.Assert;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-
 import org.apache.ibatis.logging.Log;
 import org.apache.ibatis.logging.LogFactory;
 
@@ -63,7 +62,7 @@ public class JdbcUtils {
         } else if (jdbcUrl.contains(":dm:")) {
             return DbType.DM;
         } else if (jdbcUrl.contains(":xugu:")) {
-            return DbType.XUGU;
+            return DbType.XU_GU;
         } else {
             logger.warn("The jdbcUrl is " + jdbcUrl + ", Mybatis Plus Cannot Read Database type or The Database's Not Supported!");
             return DbType.OTHER;

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

@@ -42,7 +42,7 @@ class DbTypeTest {
         DIALECT_MAP.put(DbType.SQL_SERVER2005, SQLServer2005Dialect.class);
         DIALECT_MAP.put(DbType.SQLITE, SQLiteDialect.class);
         DIALECT_MAP.put(DbType.HSQL, HSQLDialect.class);
-        DIALECT_MAP.put(DbType.XUGU, XuguDialect.class);
+        DIALECT_MAP.put(DbType.XU_GU, XuGuDialect.class);
         DIALECT_MAP.put(DbType.OTHER, UnknownDialect.class);
     }