diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/FlexGlobalConfig.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/FlexGlobalConfig.java index 4f4d8c43..6fd0c111 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/FlexGlobalConfig.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/FlexGlobalConfig.java @@ -83,6 +83,11 @@ public class FlexGlobalConfig { */ private int defaultPageSize = 10; + /** + * 分页查询时,默认每页显示的数据数量最大限制。 + */ + private int defaultMaxPageSize = Long.MAX_VALUE; + /** * 默认的 Relation 注解查询深度 @@ -278,6 +283,14 @@ public class FlexGlobalConfig { this.defaultPageSize = defaultPageSize; } + public int getDefaultMaxPageSize() { + return defaultMaxPageSize; + } + + public void setDefaultMaxPageSize(int defaultMaxPageSize) { + this.defaultMaxPageSize = defaultMaxPageSize; + } + public int getDefaultRelationQueryDepth() { return defaultRelationQueryDepth; } diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/paginate/Page.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/paginate/Page.java index 0af90fa6..1ab8bb93 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/paginate/Page.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/paginate/Page.java @@ -51,6 +51,11 @@ public class Page implements Serializable { */ private long pageSize = FlexGlobalConfig.getDefaultConfig().getDefaultPageSize(); + /** + * 每页数据数量最大限制。 + */ + private long maxPageSize = FlexGlobalConfig.getDefaultConfig().getDefaultMaxPageSize(); + /** * 总页数。 */ @@ -196,7 +201,7 @@ public class Page implements Serializable { if (pageSize <= 0) { throw new IllegalArgumentException("pageSize must greater than 0,current value is: " + pageSize); } - this.pageSize = pageSize; + this.pageSize = Math.min(pageSize, maxPageSize); this.calcTotalPage(); }