From ea20145f268caf4fc0bf00da98070339a5d4d056 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=80=E6=BA=90=E6=B5=B7=E5=93=A5?= Date: Tue, 6 Jun 2023 10:20:02 +0800 Subject: [PATCH] optimize BaseMapper.selectListByQueryAs() --- .../src/main/java/com/mybatisflex/core/BaseMapper.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/BaseMapper.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/BaseMapper.java index aa33f018..f8a496e1 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/BaseMapper.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/BaseMapper.java @@ -452,6 +452,10 @@ public interface BaseMapper { * @return 数据列表 */ default List selectListByQueryAs(QueryWrapper queryWrapper, Class asType) { + if (Number.class.isAssignableFrom(asType) + || String.class.isAssignableFrom(asType)) { + return selectObjectListByQueryAs(queryWrapper, asType); + } try { MappedStatementTypes.setCurrentType(asType); return (List) selectListByQuery(queryWrapper); @@ -522,7 +526,7 @@ public interface BaseMapper { if (queryResults == null || queryResults.isEmpty()) { return Collections.emptyList(); } - List results = new ArrayList<>(); + List results = new ArrayList<>(queryResults.size()); for (Object queryResult : queryResults) { results.add((R) ConvertUtil.convert(queryResult, asType)); }