From 7970df3675b80845e004dfd6cf8e7344513a5989 Mon Sep 17 00:00:00 2001 From: TomXin <766781886@qq.com> Date: Thu, 12 Jan 2023 17:47:34 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E7=BB=99AbstractDb=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E7=B1=BB=E5=9E=8B=E4=B8=BAPageResult?= =?UTF-8?q?=E7=9A=84page=E9=87=8D=E8=BD=BD=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/hutool/db/AbstractDb.java | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/hutool-db/src/main/java/cn/hutool/db/AbstractDb.java b/hutool-db/src/main/java/cn/hutool/db/AbstractDb.java index 700a92027..fcccb7c97 100755 --- a/hutool-db/src/main/java/cn/hutool/db/AbstractDb.java +++ b/hutool-db/src/main/java/cn/hutool/db/AbstractDb.java @@ -3,12 +3,7 @@ package cn.hutool.db; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.func.Func1; import cn.hutool.db.dialect.Dialect; -import cn.hutool.db.handler.BeanListHandler; -import cn.hutool.db.handler.EntityHandler; -import cn.hutool.db.handler.EntityListHandler; -import cn.hutool.db.handler.NumberHandler; -import cn.hutool.db.handler.RsHandler; -import cn.hutool.db.handler.StringHandler; +import cn.hutool.db.handler.*; import cn.hutool.db.sql.Condition; import cn.hutool.db.sql.Condition.LikeType; import cn.hutool.db.sql.LogicalOperator; @@ -881,6 +876,22 @@ public abstract class AbstractDb implements Serializable { } } + /** + * 分页查询
+ * + * @param Bean类型 + * @param sql SQL构建器,可以使用{@link SqlBuilder#of(CharSequence)} 包装普通SQL + * @param page 分页对象 + * @param elementBeanType 结果集处理对象 + * @param params 参数 + * @return 结果对象 + * @throws SQLException SQL执行异常 + * @since 5.8.11 + */ + public PageResult page(CharSequence sql, Page page, Class elementBeanType, Object... params) throws SQLException { + return page(sql, page, (RsHandler>) rs -> HandleHelper.handleRsToBeanList(rs, new PageResult<>(page.getPageNumber(), page.getPageSize(), (int) count(sql, params)), elementBeanType), params); + } + /** * 分页查询 *