Skip to content

Commit 02f9b9c

Browse files
committed
Added a failing test case for #67.
1 parent 38fa270 commit 02f9b9c

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed

src/test/java/org/apache/ibatis/submitted/foreach/ForEachTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,22 @@ public void shouldGetAUser() {
7070
}
7171
}
7272

73+
@Test
74+
public void shouldHandleComplexNullItem() {
75+
SqlSession sqlSession = sqlSessionFactory.openSession();
76+
try {
77+
Mapper mapper = sqlSession.getMapper(Mapper.class);
78+
User user1 = new User();
79+
user1.setId(2);
80+
user1.setName("User2");
81+
List<User> users = new ArrayList<User>();
82+
users.add(user1);
83+
users.add(null);
84+
int count = mapper.countByUserList(users);
85+
Assert.assertEquals(1, count);
86+
} finally {
87+
sqlSession.close();
88+
}
89+
}
90+
7391
}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,12 @@
1515
*/
1616
package org.apache.ibatis.submitted.foreach;
1717

18+
import java.util.List;
19+
1820
public interface Mapper {
1921

2022
User getUser(User user);
2123

24+
int countByUserList(List<User> users);
25+
2226
}

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,14 @@
3030
)
3131
</select>
3232

33+
<select id="countByUserList" resultType="_int" parameterType="list">
34+
select count(*) from users
35+
<where>
36+
id in
37+
<foreach item="item" collection="list" separator="," open="(" close=")">
38+
#{item.id, jdbcType=NUMERIC}
39+
</foreach>
40+
</where>
41+
</select>
42+
3343
</mapper>

0 commit comments

Comments
 (0)