Pārlūkot izejas kodu

移动 IPage 类

hubin 7 gadi atpakaļ
vecāks
revīzija
98ef13c2f2

+ 4 - 4
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/mapper/BaseMapper.java

@@ -24,7 +24,7 @@ import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.session.RowBounds;
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.pagination.Page;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 
 /**
  * <p>
@@ -217,11 +217,11 @@ public interface BaseMapper<T> {
      * 根据 entity 条件,查询全部记录(并翻页)
      * </p>
      *
-     * @param rowBounds    分页查询条件(可以为 RowBounds.DEFAULT)
+     * @param page         分页查询条件(可以为 RowBounds.DEFAULT)
      * @param queryWrapper 实体对象封装操作类(可以为 null)
      * @return List<T>
      */
-    Page<T> selectPage(RowBounds rowBounds, @Param("ew") Wrapper<T> queryWrapper);
+    IPage<T> selectPage(IPage<T> page, @Param("ew") Wrapper<T> queryWrapper);
 
     /**
      * <p>
@@ -230,7 +230,7 @@ public interface BaseMapper<T> {
      *
      * @param rowBounds    分页查询条件(可以为 RowBounds.DEFAULT)
      * @param queryWrapper 实体对象封装操作类
-     * @return List<Map<String,Object>>
+     * @return List<Map < String , Object>>
      */
     List<Map<String, Object>> selectMapsPage(RowBounds rowBounds, @Param("ew") Wrapper<T> queryWrapper);
 

+ 20 - 2
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/pagination/IPage.java → mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/metadata/IPage.java

@@ -13,7 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.baomidou.mybatisplus.extension.plugins.pagination;
+package com.baomidou.mybatisplus.core.metadata;
 
 import java.util.List;
 
@@ -25,7 +25,7 @@ import java.util.List;
  * @author hubin
  * @since 2018-06-09
  */
-public interface IPage {
+public interface IPage<T> {
 
     /**
      * <p>
@@ -100,6 +100,24 @@ public interface IPage {
         return pages;
     }
 
+    /**
+     * <p>
+     * 分页记录列表
+     * </p>
+     *
+     * @return 分页对象记录列表
+     */
+    List<T> getRecords();
+
+    /**
+     * <p>
+     * 设置分页记录列表
+     * </p>
+     *
+     * @return 当前对象
+     */
+    IPage setRecords(List<T> records);
+
     /**
      * <p>
      * 当前满足条件总行数

+ 11 - 10
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/toolkit/sql/SqlHelper.java

@@ -15,14 +15,8 @@
  */
 package com.baomidou.mybatisplus.core.toolkit.sql;
 
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
-import com.baomidou.mybatisplus.core.metadata.TableInfo;
-import com.baomidou.mybatisplus.core.pagination.Page;
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
-import com.baomidou.mybatisplus.core.toolkit.TableInfoHelper;
+import java.util.List;
+
 import org.apache.ibatis.logging.Log;
 import org.apache.ibatis.logging.LogFactory;
 import org.apache.ibatis.session.Configuration;
@@ -30,7 +24,14 @@ import org.apache.ibatis.session.ExecutorType;
 import org.apache.ibatis.session.SqlSession;
 import org.apache.ibatis.session.SqlSessionFactory;
 
-import java.util.List;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.metadata.TableInfo;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
+import com.baomidou.mybatisplus.core.toolkit.TableInfoHelper;
 
 /**
  * <p>
@@ -186,7 +187,7 @@ public class SqlHelper {
      * @param page    分页对象
      * @param wrapper SQL包装对象
      */
-    public static Wrapper<?> fillWrapper(Page<?> page, Wrapper<?> wrapper) {
+    public static Wrapper<?> fillWrapper(IPage<?> page, Wrapper<?> wrapper) {
         if (null == page) {
             return wrapper;
         }

+ 5 - 4
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/activerecord/Model.java

@@ -26,7 +26,7 @@ import org.springframework.transaction.annotation.Transactional;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.enums.SqlMethod;
 import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
-import com.baomidou.mybatisplus.core.pagination.Page;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.sql.SqlHelper;
 import com.baomidou.mybatisplus.extension.toolkit.SqlRunner;
@@ -247,12 +247,13 @@ public abstract class Model<T extends Model> implements Serializable {
      * @param wrapper
      * @return
      */
-    public Page<T> selectPage(Page<T> page, Wrapper<T> wrapper) {
+    public IPage<T> selectPage(IPage<T> page, Wrapper<T> wrapper) {
         Map<String, Object> map = new HashMap<>();
         wrapper = (Wrapper<T>) SqlHelper.fillWrapper(page, wrapper);
         map.put("ew", wrapper);
-        List<T> tl = sqlSession().selectList(sqlStatement(SqlMethod.SELECT_PAGE), map, page);
-        page.setRecords(tl);
+        // TODO 待完成
+//        List<T> tl = sqlSession().selectList(sqlStatement(SqlMethod.SELECT_PAGE), map, page);
+//        page.setRecords(tl);
         return page;
     }
 

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

@@ -40,6 +40,7 @@ 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.CollectionUtils;
@@ -48,7 +49,6 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.sql.SqlUtils;
 import com.baomidou.mybatisplus.extension.handlers.SqlParserHandler;
 import com.baomidou.mybatisplus.extension.plugins.pagination.DialectFactory;
-import com.baomidou.mybatisplus.extension.plugins.pagination.IPage;
 import com.baomidou.mybatisplus.extension.toolkit.JdbcUtils;
 
 /**

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

@@ -22,6 +22,7 @@ import org.apache.ibatis.session.RowBounds;
 
 import com.baomidou.mybatisplus.annotation.DbType;
 import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.DB2Dialect;
 import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.H2Dialect;

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

@@ -16,7 +16,6 @@
 package com.baomidou.mybatisplus.extension.plugins.pagination;
 
 import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
-import com.baomidou.mybatisplus.core.pagination.Pagination;
 
 
 /**
@@ -56,7 +55,7 @@ public class PageHelper {
      * @param size    每页显示数量
      * @return
      */
-    public static int offsetCurrent(int current, int size) {
+    public static long offsetCurrent(long current, long size) {
         if (current > 0) {
             return (current - 1) * size;
         }
@@ -68,7 +67,7 @@ public class PageHelper {
      * Pagination 分页偏移量
      * </p>
      */
-    public static int offsetCurrent(Pagination pagination) {
+    public static long offsetCurrent(Pagination pagination) {
         if (null == pagination) {
             return 0;
         }

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

@@ -17,8 +17,10 @@ package com.baomidou.mybatisplus.extension.plugins.pagination;
 
 import java.io.Serializable;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.ArrayUtils;
 
 /**
@@ -31,6 +33,11 @@ import com.baomidou.mybatisplus.core.toolkit.ArrayUtils;
  */
 public class Pagination<T> implements IPage, Serializable {
 
+    /**
+     * 查询数据列表
+     */
+    private List<T> records = Collections.emptyList();
+
     /**
      * 总数
      */
@@ -110,6 +117,17 @@ public class Pagination<T> implements IPage, Serializable {
         return this.current < this.getPages();
     }
 
+    @Override
+    public List getRecords() {
+        return this.records;
+    }
+
+    @Override
+    public IPage setRecords(List records) {
+        this.records = records;
+        return this;
+    }
+
     @Override
     public Pagination setTotal(long total) {
         this.total = total;