1、作用
遍历集合(list、数组)参数。
2、需求
根据多个id查找用户
3、示例
测试
@Test
public void testForeach(){
SqlSession sqlSession = SqlSessionKit.openSession(true);
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
// 查询所有用户
List<User> users = mapper.findByIds(1,11);
users.forEach(u -> System.out.println(u));
}
操作
/*** 根据多个id查找用户
** @param ids id数组
* @return 查询结果 list */
List<User> findByIds(Integer... ids);
配置
<select id="findByIds" resultType="com.itheima.mybatis.day03.sql.model.User">
select * from user
<where>
<foreach collection="array" item="id" open="id in(" separator="," close=")">
#{id}
</foreach>
</where>
</select>
结果
DEBUG [main] - Opening JDBC Connection DEBUG [main] - Created connection 638695843. DEBUG
[main] - ==> Preparing: select * from user WHERE id in( ? , ? ) DEBUG [main] - ==> Parameters:
1(Integer), 11(Integer) DEBUG [main] - <== Total: 1 User{id=1, username='王五', birthday=Tue Apr 16
00:00:00 CST 2019, sex='null', address='null'}