MyBatis系列学习---《Mapper.xml 解析 四 - foreach标签》

<!-- 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类名或者别名
发布了63 篇原创文章 · 获赞 1 · 访问量 2777

猜你喜欢

转载自blog.csdn.net/A_bad_horse/article/details/104966010
今日推荐