<!-- Mapper.xml文件 -->
List<Integer> idslist;
<!--多个ID(1,2,3) -->
<select id="selectUserByIds" parameterType="QueryVo" resultType="User">
<include refid="selector" />
<where>
id in
<foreach collection="idslist" item="id" open="(" close=")" separtor=",">
#{id}
<!--
<foreach collection="idslist" item="id">
#{id} // 结果为(123)
<foreach collection="idslist" item="id" separtor=",">
#{id} // 结果为(1,2,3)
-->
</foreach>
</where>
</select>
<!-- 测试代码 -->
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List<Integer> ids = new ArrayList<>();
ids.add(16);
ids.add(22);
ids.add(24);
QueryVo vo = new QueryVo();
vo.serIdsList(ids);
List<User> users = userMapper.selectUserByIds(vo);
for (User users3: users) {
System.out.println(users3);
}
collection
- 复杂类型集合,一对多
- 内部嵌套
- 映射一个嵌套结果集到一个列表
- 属性
- property: 映射数据库列的实体对象的属性
- ofType: 完整Java类名或者别名(集合所包括的类型)
- resultMap:引用外部resultMap
- 子元素
- id
- result
- property: 映射数据库列的实体对象的属性
- column:完整Java类名或者别名