From 5ab7a9e481c5873b6311055a986268a5138515c3 Mon Sep 17 00:00:00 2001 From: Suomm <1474983351@qq.com> Date: Tue, 13 Jun 2023 09:49:46 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20selectListByQueryAs=20=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E5=AE=9E=E4=BD=93=E7=B1=BB=E5=AF=B9=E8=B1=A1=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E6=9F=A5=E8=AF=A2=E4=B8=8D=E5=87=BA=E6=9D=A5=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/mybatis/FlexConfiguration.java | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mybatis/FlexConfiguration.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mybatis/FlexConfiguration.java index ce58b321..15de5227 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mybatis/FlexConfiguration.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mybatis/FlexConfiguration.java @@ -209,20 +209,19 @@ public class FlexConfiguration extends Configuration { addResultMap(resultMap); } } + /* + * 这里解释一下为什么要反转这个集合: + * + * MyBatis 在解析 ResultMaps 的时候,是按照顺序一个一个进行解析的,对于有嵌套 + * 的 ResultMap 对象,也就是 nestResultMap 需要放在靠前的位置,首先解析。 + * + * 而我们进行递归 buildResultMapList 是非嵌套 ResultMap 在集合最开始的位置, + * 所以要反转一下集合,将 hasNestedResultMaps 的 ResultMap 对象放到集合的最 + * 前面。 + */ + Collections.reverse(resultMapList); } - /* - * 这里解释一下为什么要反转这个集合: - * - * MyBatis 在解析 ResultMaps 的时候,是按照顺序一个一个进行解析的,对于有嵌套 - * 的 ResultMap 对象,也就是 nestResultMap 需要放在靠前的位置,首先解析。 - * - * 而我们进行递归 buildResultMapList 也好,fillResultMapList 也好,都是 - * 非嵌套 ResultMap 在集合最开始的位置,所以要反转一下集合,将 hasNestedResultMaps - * 的 ResultMap 对象放到集合的最前面。 - */ - Collections.reverse(resultMapList); - return new MappedStatement.Builder(ms.getConfiguration(), ms.getId(), ms.getSqlSource(), ms.getSqlCommandType()) .resource(ms.getResource()) .fetchSize(ms.getFetchSize()) From 3b6daf489a3d9f11c3c1b15a2baca6e1b6e80496 Mon Sep 17 00:00:00 2001 From: Suomm <1474983351@qq.com> Date: Tue, 13 Jun 2023 09:50:18 +0800 Subject: [PATCH 2/2] =?UTF-8?q?test:=20=E6=9F=A5=E8=AF=A2=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E5=90=88=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mybatisflex/test/mapper/UserMapperTest.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mybatis-flex-test/mybatis-flex-spring-boot-test/src/test/java/com/mybatisflex/test/mapper/UserMapperTest.java b/mybatis-flex-test/mybatis-flex-spring-boot-test/src/test/java/com/mybatisflex/test/mapper/UserMapperTest.java index 2165ca0b..38db650c 100644 --- a/mybatis-flex-test/mybatis-flex-spring-boot-test/src/test/java/com/mybatisflex/test/mapper/UserMapperTest.java +++ b/mybatis-flex-test/mybatis-flex-spring-boot-test/src/test/java/com/mybatisflex/test/mapper/UserMapperTest.java @@ -100,6 +100,12 @@ class UserMapperTest { userVOS.forEach(System.err::println); } + @Test + void testSelectListNoJoin() { + List userVOS = userMapper.selectListByQueryAs(QueryWrapper.create(), UserVO.class); + userVOS.forEach(System.err::println); + } + @Test void testComplexSelectList() { QueryWrapper queryWrapper = QueryWrapper.create()