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 7397d4f45..69893c140 100755 --- a/hutool-db/src/main/java/cn/hutool/db/AbstractDb.java +++ b/hutool-db/src/main/java/cn/hutool/db/AbstractDb.java @@ -673,21 +673,10 @@ public abstract class AbstractDb> implements ConnectionH * @throws DbRuntimeException SQL执行异常 */ public long count(final Entity where) throws DbRuntimeException { - return count(where, null); - } - - /** - * 结果的条目数 - * - * @param where 查询条件 - * @return 复合条件的结果数 - * @throws DbRuntimeException SQL执行异常 - */ - public long count(final Entity where, final Page page) throws DbRuntimeException { Connection conn = null; try { conn = this.getConnection(); - return runner.count(conn, Query.of(where).setPage(page)); + return runner.count(conn, Query.of(where)); } finally { this.closeConnection(conn); } diff --git a/hutool-db/src/main/java/cn/hutool/db/DialectRunner.java b/hutool-db/src/main/java/cn/hutool/db/DialectRunner.java index 31194d331..4f10f93b7 100644 --- a/hutool-db/src/main/java/cn/hutool/db/DialectRunner.java +++ b/hutool-db/src/main/java/cn/hutool/db/DialectRunner.java @@ -316,7 +316,9 @@ public class DialectRunner implements Serializable { public PageResult page(final Connection conn, final Query query) throws DbRuntimeException { final Page page = query.getPage(); final PageResultHandler pageResultHandler = new PageResultHandler( - new PageResult<>(page.getPageNumber(), page.getPageSize(), (int) count(conn, query)), + new PageResult<>(page.getPageNumber(), page.getPageSize(), + // 分页查询中总数的查询要去掉分页信息 + (int) count(conn, query.clone().setPage(null))), this.caseInsensitive); return page(conn, query, pageResultHandler); } diff --git a/hutool-db/src/test/java/cn/hutool/db/DbTest.java b/hutool-db/src/test/java/cn/hutool/db/DbTest.java index 89a2f1f33..45e933b0c 100644 --- a/hutool-db/src/test/java/cn/hutool/db/DbTest.java +++ b/hutool-db/src/test/java/cn/hutool/db/DbTest.java @@ -41,15 +41,6 @@ public class DbTest { Assert.assertEquals(1, page1.size()); } - @Test - public void pageTest2() { - final long count = Db.of().count(Entity.create("user"), Page.of(1, 3)); - Assert.assertEquals(1, count); - - final List page1 = Db.of().page(Entity.create("user"), Page.of(1, 3)); - Assert.assertEquals(1, page1.size()); - } - @Test public void pageBySqlTest() { final String sql = "select * from user order by name";