修复Db.findAll全局忽略大小写无效问题

This commit is contained in:
Looly 2023-08-15 10:31:12 +08:00
parent 91ad2349f1
commit 66883b42ae
5 changed files with 13 additions and 10 deletions

View File

@ -606,7 +606,7 @@ public abstract class AbstractDb<R extends AbstractDb<R>> extends DefaultConnect
* @throws DbRuntimeException SQL执行异常
*/
public List<Entity> findAll(final Entity where) throws DbRuntimeException {
return find(where, EntityListHandler.of());
return find(where, new EntityListHandler(this.caseInsensitive));
}
/**

View File

@ -23,17 +23,20 @@ import java.util.List;
/**
* 结果集处理类 处理出的结果为Entity列表
* @author loolly
*
* @author loolly
*/
public class EntityListHandler implements RsHandler<List<Entity>>{
public class EntityListHandler implements RsHandler<List<Entity>> {
private static final long serialVersionUID = -2846240126316979895L;
/** 是否大小写不敏感 */
/**
* 是否大小写不敏感
*/
private final boolean caseInsensitive;
/**
* 创建一个 EntityListHandler对象
* 创建一个 EntityListHandler对象默认大小写敏感
*
* @return EntityListHandler对象
*/
public static EntityListHandler of() {
@ -41,7 +44,7 @@ public class EntityListHandler implements RsHandler<List<Entity>>{
}
/**
* 构造
* 构造默认大小写敏感
*/
public EntityListHandler() {
this(false);
@ -62,7 +65,7 @@ public class EntityListHandler implements RsHandler<List<Entity>>{
final EntityRowHandler rowHandler = new EntityRowHandler(meta, caseInsensitive, true);
final List<Entity> result = ListUtil.of();
while (rs.next()){
while (rs.next()) {
result.add(rowHandler.handle(rs));
}

View File

@ -114,7 +114,7 @@ public class CRUDTest {
@Test
public void findTest() {
final List<Entity> find = db.find(ListUtil.of("name AS name2"), Entity.of("user"), new EntityListHandler());
final List<Entity> find = db.find(ListUtil.of("name AS name2"), Entity.of("user"), EntityListHandler.of());
Assertions.assertFalse(find.isEmpty());
}

View File

@ -31,7 +31,7 @@ public class ConcurentTest {
for(int i = 0; i < 10000; i++) {
ThreadUtil.execute(() -> {
final List<Entity> find;
find = db.find(ListUtil.of("name AS name2"), Entity.of("user"), new EntityListHandler());
find = db.find(ListUtil.of("name AS name2"), Entity.of("user"), EntityListHandler.of());
Console.log(find);
});
}

View File

@ -190,7 +190,7 @@ public class DbTest {
ps.setFetchSize(Integer.MIN_VALUE);
ps.setFetchDirection(ResultSet.FETCH_FORWARD);
return ps;
}), new EntityListHandler());
}), EntityListHandler.of());
}
@Test