1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.submitted.nestedresulthandler_multiple_association;
17
18 import java.io.Reader;
19
20 import java.util.List;
21
22 import org.apache.ibatis.BaseDataTest;
23 import org.apache.ibatis.io.Resources;
24 import org.apache.ibatis.session.SqlSession;
25 import org.apache.ibatis.session.SqlSessionFactory;
26 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
27 import org.junit.jupiter.api.Assertions;
28 import org.junit.jupiter.api.BeforeAll;
29 import org.junit.jupiter.api.Test;
30
31 class NestedResultHandlerMultipleAssociationTest {
32
33 private static SqlSessionFactory sqlSessionFactory;
34
35 @BeforeAll
36 static void setUp() throws Exception {
37
38 try (Reader reader = Resources
39 .getResourceAsReader("org/apache/ibatis/submitted/nestedresulthandler_multiple_association/mybatis-config.xml")) {
40 sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
41 }
42
43
44 BaseDataTest.runScript(sqlSessionFactory.getConfiguration().getEnvironment().getDataSource(),
45 "org/apache/ibatis/submitted/nestedresulthandler_multiple_association/CreateDB.sql");
46 }
47
48 @Test
49 void failure() {
50 try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
51
52
53
54
55
56
57
58 List<ParentBean> list = sqlSession.selectList("selectParentBeans");
59 for (ParentBean pb : list) {
60 for (Binome<ChildBean, ChildBean> childs : pb.getChilds()) {
61 Assertions.assertNotNull(childs);
62 Assertions.assertNotNull(childs.getOne());
63 Assertions.assertNotNull(childs.getTwo());
64 }
65 }
66 }
67 }
68
69 @Test
70 void success() {
71 try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
72
73 ParentBean parent = sqlSession.selectOne("selectParentBeanById", 2);
74
75
76 for (Binome<ChildBean, ChildBean> childs : parent.getChilds()) {
77 Assertions.assertNotNull(childs);
78 Assertions.assertNotNull(childs.getOne());
79 Assertions.assertNotNull(childs.getTwo());
80 }
81 }
82 }
83
84 }