@@ -83,17 +83,53 @@ public static void tearDown() {
83
83
public void shouldGetMultipleResultSetsWithOneStatement () throws IOException {
84
84
try (SqlSession sqlSession = sqlSessionFactory .openSession ()) {
85
85
Mapper mapper = sqlSession .getMapper (Mapper .class );
86
- List <?> usersAndGroups = mapper .getUsersAndGroups ();
87
- Assert .assertEquals (2 , usersAndGroups .size ());
86
+ List <List <?>> results = mapper .getUsersAndGroups ();
87
+ Assert .assertEquals (2 , results .size ());
88
+
89
+ Assert .assertEquals (6 , results .get (0 ).size ());
90
+ OrderDetail detail = (OrderDetail )results .get (0 ).get (0 );
91
+ Assert .assertEquals (1 , detail .getOrderId ());
92
+ Assert .assertEquals (1 , detail .getLineNumber ());
93
+ Assert .assertEquals (1 , detail .getQuantity ());
94
+ Assert .assertEquals ("Pen" , detail .getItemDescription ());
95
+
96
+ Assert .assertEquals (2 , results .get (1 ).size ());
97
+ OrderHeader header = (OrderHeader )results .get (1 ).get (0 );
98
+ Assert .assertEquals (1 , header .getOrderId ());
99
+ Assert .assertEquals ("Fred" , header .getCustName ());
88
100
}
89
101
}
90
102
91
103
@ Test
92
104
public void shouldSkipNullResultSet () {
93
105
try (SqlSession sqlSession = sqlSessionFactory .openSession ()) {
94
- Mapper mapper = sqlSession .getMapper (Mapper .class );
95
- List <?> results = mapper .multiResultsWithUpdate ();
96
- Assert .assertEquals (2 , results .size ());
106
+ try {
107
+ Mapper mapper = sqlSession .getMapper (Mapper .class );
108
+ List <List <?>> results = mapper .multiResultsWithUpdate ();
109
+ Assert .assertEquals (2 , results .size ());
110
+
111
+ Assert .assertEquals (6 , results .get (0 ).size ());
112
+ OrderDetail detail = (OrderDetail ) results .get (0 ).get (0 );
113
+ Assert .assertEquals (1 , detail .getOrderId ());
114
+ Assert .assertEquals (1 , detail .getLineNumber ());
115
+ Assert .assertEquals (1 , detail .getQuantity ());
116
+ Assert .assertEquals ("Pen" , detail .getItemDescription ());
117
+
118
+ Assert .assertEquals (2 , results .get (1 ).size ());
119
+ OrderHeader header = (OrderHeader ) results .get (1 ).get (0 );
120
+ Assert .assertEquals (1 , header .getOrderId ());
121
+ Assert .assertEquals ("Fred" , header .getCustName ());
122
+
123
+ results = mapper .getUsersAndGroups ();
124
+ Assert .assertEquals (7 , results .get (0 ).size ());
125
+ detail = (OrderDetail ) results .get (0 ).get (6 );
126
+ Assert .assertEquals (2 , detail .getOrderId ());
127
+ Assert .assertEquals (4 , detail .getLineNumber ());
128
+ Assert .assertEquals (5 , detail .getQuantity ());
129
+ Assert .assertEquals ("Eraser" , detail .getItemDescription ());
130
+ } finally {
131
+ sqlSession .rollback (true );
132
+ }
97
133
}
98
134
}
99
135
}
0 commit comments