Browse Source

目前先移除 LongSupplier

miemie 6 years ago
parent
commit
f8e2ba25f8

+ 0 - 12
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/metadata/IPage.java

@@ -18,7 +18,6 @@ package com.baomidou.mybatisplus.core.metadata;
 import java.io.Serializable;
 import java.util.List;
 import java.util.Map;
-import java.util.function.LongSupplier;
 
 /**
  * <p>
@@ -30,17 +29,6 @@ import java.util.function.LongSupplier;
  */
 public interface IPage<T> extends Serializable {
 
-    /**
-     * <p>
-     * 自定义获取 count 的提供方
-     * </p>
-     *
-     * @return LongSupplier
-     */
-    default LongSupplier getSupplier() {
-        return null;
-    }
-
     /**
      * <p>
      * 降序字段数组

+ 19 - 37
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/PaginationInterceptor.java

@@ -15,52 +15,37 @@
  */
 package com.baomidou.mybatisplus.extension.plugins;
 
-import static java.util.stream.Collectors.joining;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.function.LongSupplier;
-
-import org.apache.ibatis.executor.statement.StatementHandler;
-import org.apache.ibatis.mapping.BoundSql;
-import org.apache.ibatis.mapping.MappedStatement;
-import org.apache.ibatis.mapping.ParameterMapping;
-import org.apache.ibatis.mapping.SqlCommandType;
-import org.apache.ibatis.plugin.Interceptor;
-import org.apache.ibatis.plugin.Intercepts;
-import org.apache.ibatis.plugin.Invocation;
-import org.apache.ibatis.plugin.Plugin;
-import org.apache.ibatis.plugin.Signature;
-import org.apache.ibatis.reflection.MetaObject;
-import org.apache.ibatis.reflection.SystemMetaObject;
-import org.apache.ibatis.scripting.defaults.DefaultParameterHandler;
-import org.apache.ibatis.session.Configuration;
-import org.apache.ibatis.session.RowBounds;
-
 import com.baomidou.mybatisplus.annotation.DbType;
 import com.baomidou.mybatisplus.core.MybatisDefaultParameterHandler;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.parser.ISqlParser;
 import com.baomidou.mybatisplus.core.parser.SqlInfo;
-import com.baomidou.mybatisplus.core.toolkit.ArrayUtils;
-import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;
-import com.baomidou.mybatisplus.core.toolkit.PluginUtils;
-import com.baomidou.mybatisplus.core.toolkit.StringPool;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.*;
 import com.baomidou.mybatisplus.extension.handlers.AbstractSqlParserHandler;
 import com.baomidou.mybatisplus.extension.plugins.pagination.DialectFactory;
 import com.baomidou.mybatisplus.extension.plugins.pagination.DialectModel;
 import com.baomidou.mybatisplus.extension.toolkit.JdbcUtils;
 import com.baomidou.mybatisplus.extension.toolkit.SqlParserUtils;
-
 import lombok.Setter;
 import lombok.experimental.Accessors;
+import org.apache.ibatis.executor.statement.StatementHandler;
+import org.apache.ibatis.mapping.BoundSql;
+import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.mapping.ParameterMapping;
+import org.apache.ibatis.mapping.SqlCommandType;
+import org.apache.ibatis.plugin.*;
+import org.apache.ibatis.reflection.MetaObject;
+import org.apache.ibatis.reflection.SystemMetaObject;
+import org.apache.ibatis.scripting.defaults.DefaultParameterHandler;
+import org.apache.ibatis.session.Configuration;
+import org.apache.ibatis.session.RowBounds;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.util.*;
+
+import static java.util.stream.Collectors.joining;
 
 /**
  * <p>
@@ -178,7 +163,6 @@ public class PaginationInterceptor extends AbstractSqlParserHandler implements I
         DbType dbType = StringUtils.isNotEmpty(dialectType) ? DbType.getDbType(dialectType)
             : JdbcUtils.getDbType(connection.getMetaData().getURL());
 
-        LongSupplier supplier = page.getSupplier();
         boolean orderBy = true;
         if (page.getTotal() == 0) {
             // total 为0 才进行 count
@@ -188,8 +172,6 @@ public class PaginationInterceptor extends AbstractSqlParserHandler implements I
             if (page.getTotal() <= 0) {
                 return invocation.proceed();
             }
-        } else if (supplier != null) {
-            page.setTotal(supplier.getAsLong());
         }
 
         String buildSql = concatOrderBy(originalSql, page, orderBy);

+ 3 - 23
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/pagination/Page.java

@@ -15,13 +15,12 @@
  */
 package com.baomidou.mybatisplus.extension.plugins.pagination;
 
-import java.util.Collections;
-import java.util.List;
-import java.util.function.LongSupplier;
-
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 
+import java.util.Collections;
+import java.util.List;
+
 /**
  * <p>
  * 简单分页模型
@@ -68,12 +67,6 @@ public class Page<T> implements IPage<T> {
      * </p>
      */
     private boolean optimizeCountSql = true;
-    /**
-     * <p>
-     * 自定义获取 count 的提供方
-     * </p>
-     */
-    private transient LongSupplier supplier = null;
 
     public Page() {
         // to do nothing
@@ -104,14 +97,6 @@ public class Page<T> implements IPage<T> {
         }
     }
 
-    /**
-     * 后台使用的构造函数
-     */
-    public Page(long current, long size, LongSupplier supplier) {
-        this(current, size, -1);
-        this.supplier = supplier;
-    }
-
     /**
      * <p>
      * 是否存在上一页
@@ -236,9 +221,4 @@ public class Page<T> implements IPage<T> {
         this.optimizeCountSql = optimizeCountSql;
         return this;
     }
-
-    @Override
-    public LongSupplier getSupplier() {
-        return this.supplier;
-    }
 }