Skip to content

Commit f548402

Browse files
committed
Test case for #1472
1 parent 19d259f commit f548402

File tree

3 files changed

+31
-2
lines changed

3 files changed

+31
-2
lines changed

src/test/java/org/apache/ibatis/submitted/stringlist/Mapper.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,12 @@
1616
package org.apache.ibatis.submitted.stringlist;
1717

1818
import java.util.List;
19+
import java.util.Map;
1920

2021
public interface Mapper {
2122

2223
List<User> getUsersAndGroups(Integer id);
2324

25+
List<Map<String, Object>> getUsersAndGroupsMap(Integer id);
26+
2427
}

src/test/java/org/apache/ibatis/submitted/stringlist/Mapper.xml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<mapper namespace="org.apache.ibatis.submitted.stringlist.Mapper">
2424

2525
<select id="getUsersAndGroups" resultMap="results">
26-
select * from users
26+
select * from users where id = #{id}
2727
</select>
2828

2929
<resultMap type="org.apache.ibatis.submitted.stringlist.User" id="results">
@@ -36,4 +36,18 @@
3636
</collection>
3737
</resultMap>
3838

39+
<select id="getUsersAndGroupsMap" resultMap="mapResults">
40+
select * from users where id = #{id}
41+
</select>
42+
43+
<resultMap type="map" id="mapResults">
44+
<id column="id" property="id" />
45+
<collection property="groups" ofType="string" javaType="list">
46+
<result column="group_id" />
47+
</collection>
48+
<collection property="roles" ofType="string" javaType="list">
49+
<result column="rol_id"/>
50+
</collection>
51+
</resultMap>
52+
3953
</mapper>

src/test/java/org/apache/ibatis/submitted/stringlist/StringListTest.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import java.io.Reader;
2121
import java.util.List;
22+
import java.util.Map;
2223

2324
import org.apache.ibatis.BaseDataTest;
2425
import org.apache.ibatis.exceptions.PersistenceException;
@@ -47,7 +48,7 @@ static void setUp() throws Exception {
4748
}
4849

4950
@Test
50-
void shouldGetAUser() {
51+
void shouldMapListOfStrings() {
5152
try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
5253
Mapper mapper = sqlSession.getMapper(Mapper.class);
5354
List<User> users = mapper.getUsersAndGroups(1);
@@ -57,6 +58,17 @@ void shouldGetAUser() {
5758
}
5859
}
5960

61+
@Test
62+
void shouldMapListOfStringsToMap() {
63+
try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
64+
Mapper mapper = sqlSession.getMapper(Mapper.class);
65+
List<Map<String, Object>> results = mapper.getUsersAndGroupsMap(1);
66+
Assertions.assertEquals(1, results.size());
67+
Assertions.assertEquals(2, ((List<?>)results.get(0).get("groups")).size());
68+
Assertions.assertEquals(2, ((List<?>)results.get(0).get("roles")).size());
69+
}
70+
}
71+
6072
@Test
6173
void shouldFailFastIfCollectionTypeIsAmbiguous() throws Exception {
6274
try (Reader reader = Resources

0 commit comments

Comments
 (0)