From b5b237426fc1044f7c44c06a511006f04d8d679d Mon Sep 17 00:00:00 2001 From: Looly Date: Fri, 26 May 2023 23:16:41 +0800 Subject: [PATCH] add test --- .../org/dromara/hutool/db/AbstractDb.java | 23 +++++++++++++++++++ .../dromara/hutool/db/IssueI73770Test.java | 19 +++++++++++---- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/hutool-db/src/main/java/org/dromara/hutool/db/AbstractDb.java b/hutool-db/src/main/java/org/dromara/hutool/db/AbstractDb.java index 0b2013d75..ecb1a7d34 100644 --- a/hutool-db/src/main/java/org/dromara/hutool/db/AbstractDb.java +++ b/hutool-db/src/main/java/org/dromara/hutool/db/AbstractDb.java @@ -64,6 +64,7 @@ public abstract class AbstractDb> extends DefaultConnect // ------------------------------------------------------- Constructor end // region ----- query + /** * 查询 * @@ -205,6 +206,7 @@ public abstract class AbstractDb> extends DefaultConnect // endregion // region ----- execute + /** * 执行非查询语句
* 语句包括 插入、更新、删除 @@ -302,6 +304,7 @@ public abstract class AbstractDb> extends DefaultConnect // ---------------------------------------------------------------------------- CRUD start // region ----- insert + /** * 插入数据 * @@ -415,6 +418,7 @@ public abstract class AbstractDb> extends DefaultConnect // endregion // region ----- del + /** * 删除数据 * @@ -447,6 +451,7 @@ public abstract class AbstractDb> extends DefaultConnect // endregion // region ----- update + /** * 更新数据
* 更新条件为多个key value对表示,默认key = value,如果使用其它条件可以使用:where.put("key", " > 1"),value也可以传Condition对象,key被忽略 @@ -498,6 +503,7 @@ public abstract class AbstractDb> extends DefaultConnect // endregion // region ----- find + /** * 查询
* 查询条件为多个key value对表示,默认key = value,如果使用其它条件可以使用:where.put("key", " > 1"),value也可以传Condition对象,key被忽略 @@ -672,6 +678,7 @@ public abstract class AbstractDb> extends DefaultConnect // endregion // region ----- count + /** * 结果的条目数 * @@ -727,6 +734,22 @@ public abstract class AbstractDb> extends DefaultConnect // endregion // region ----- page + + /** + * 分页查询,结果为Bean列表,不计算总数
+ * + * @param Bean类型 + * @param sql SQL构建器,可以使用{@link SqlBuilder#of(CharSequence)} 包装普通SQL + * @param page 分页对象 + * @param elementBeanType 结果集处理对象 + * @param params 参数 + * @return 结果对象 + */ + public List pageForBeanList(final CharSequence sql, final Page page, + final Class elementBeanType, final Object... params) { + return page(sql, page, BeanListHandler.of(elementBeanType), params); + } + /** * 分页查询,结果为Entity列表,不计算总数
* 查询条件为多个key value对表示,默认key = value,如果使用其它条件可以使用:where.put("key", " > 1"),value也可以传Condition对象,key被忽略 diff --git a/hutool-db/src/test/java/org/dromara/hutool/db/IssueI73770Test.java b/hutool-db/src/test/java/org/dromara/hutool/db/IssueI73770Test.java index b20b739b6..b3a357f33 100644 --- a/hutool-db/src/test/java/org/dromara/hutool/db/IssueI73770Test.java +++ b/hutool-db/src/test/java/org/dromara/hutool/db/IssueI73770Test.java @@ -12,15 +12,26 @@ package org.dromara.hutool.db; -import org.dromara.hutool.db.ds.DSUtil; -import org.junit.jupiter.api.Disabled; +import lombok.Data; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import java.util.List; + public class IssueI73770Test { @Test - @Disabled void pageTest() { - DSUtil.getDS("mysql"); + final List result = Db.of() + .pageForBeanList("select * from user where id = ?" + , new Page(0, 10), User.class, 9); + Assertions.assertEquals(1, result.size()); + Assertions.assertEquals(9, result.get(0).getId()); + } + + @Data + static class User{ + private Integer id; + private String name; } }