Foreach:
用于条件是一个范围时使用。
使用:
- 编写接口:
List<Book> queryBookByForeach(Map map);
- 编写xml配置文件
<select id="queryBookByForeach" parameterType="map" resultType="Book">
select * from book
<where>
<foreach collection="ids" item="id" open="and (" close=")" separator="or">
id=#{id}
</foreach>
</where>
</select>
- 测试
@org.junit.Test
public void testForeach(){
SqlSession sqlSession=MyBatisUtils.getSqlSession();
BookMapper bookMapper=sqlSession.getMapper(BookMapper.class);
HashMap map=new HashMap();
ArrayList<Integer> integers=new ArrayList<Integer>();
integers.add(1);
map.put("ids",integers);
List<Book> bookList=bookMapper.queryBookByForeach(map);
for (Book book : bookList) {
System.out.println(book);
}
sqlSession.close();
}