浏览代码

新分页插件优化 size<0 时继续拼接 orderBy

miemie 4 年之前
父节点
当前提交
1a0172b78d

+ 1 - 0
TEMP_CHANGELOG.md

@@ -7,3 +7,4 @@
 - feat: 分页方言加入 gbase,clickhouse,oscar 支持
 - feat: Wrapper 新增api `not(boolean condition, Consumer<Param> consumer)`
 - feat: 新增 `MybatisPlusInterceptor` 解决 多租户和分页 插件一级和二级缓存不正确问题
+- feat: 新分页插件优化 size<0 时继续拼接 orderBy

+ 11 - 1
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/inner/PaginationInnerInterceptor.java

@@ -26,6 +26,7 @@ import com.baomidou.mybatisplus.extension.toolkit.JdbcUtils;
 import com.baomidou.mybatisplus.extension.toolkit.PropertyMapper;
 import com.baomidou.mybatisplus.extension.toolkit.SqlParserUtils;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 import net.sf.jsqlparser.JSQLParserException;
 import net.sf.jsqlparser.expression.Alias;
 import net.sf.jsqlparser.expression.Expression;
@@ -62,6 +63,7 @@ import java.util.stream.Collectors;
  * @since 2020-06-16
  */
 @Data
+@NoArgsConstructor
 @SuppressWarnings({"rawtypes"})
 public class PaginationInnerInterceptor implements InnerInterceptor {
 
@@ -83,7 +85,7 @@ public class PaginationInnerInterceptor implements InnerInterceptor {
     /**
      * 溢出总页数后是否进行处理
      */
-    protected boolean overflow = true;
+    protected boolean overflow;
     /**
      * 单页分页条数限制
      */
@@ -101,6 +103,14 @@ public class PaginationInnerInterceptor implements InnerInterceptor {
      */
     private IDialect dialect;
 
+    public PaginationInnerInterceptor(DbType dbType) {
+        this.dbType = dbType;
+    }
+
+    public PaginationInnerInterceptor(IDialect dialect) {
+        this.dialect = dialect;
+    }
+
     /**
      * 这里进行count,如果count为0这返回false(就是不再执行sql了)
      */