<!-- 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类名或者别名