当前位置: 首页 > news >正文

【已解决】关于MyBatis的collection集合中只能取到一条数据的问题

一、问题

在涉及多表查询的时候,使用collection元素来映射集合属性时,出现了只能查询到一条数据的情况,但用sql语句在数据库中查询会有多条记录。

二、原因

如果两表联查,主表和明细表的主键都是id的话,明细表的多条只能查询出来第一条。所以涉及查询所用的表的主键的命名不要相同,否则会混淆。

三、解决

如果关联查询的两个表的主键已经相同了,如表早就已经建好了,现在也不可能改表字段了,那么只需要查询时给关联表查询字段给个不一样的别名即可。

<!-- 通用查询映射结果 --><resultMap id="UserResultMap" type="com.gd.mqtest.domain.User"><id column="id" property="id"/><result column="name" property="name"/><result column="age" property="age"/><result column="email" property="email"/><!--<collection property="userDetails" javaType="java.util.ArrayList" ofType="com.gd.mqtest.domain.UserDetail">--><!--    <id column="t_id" property="id" />--><!--    <result column="user_id" property="userId" />--><!--    <result column="color" property="color" />--><!--</collection>--></resultMap><select id="select" resultMap="UserResultMap">select u.id, u.name, u.age, u.email,ud.id t_id, ud.user_id, ud.color from user u join user_detail ud on u.id=ud.user_id</select>
http://www.lryc.cn/news/413356.html

相关文章:

  • 前端的学习-CSS(弹性布局-flex)
  • vue3集成LuckySheet实现导入本地Excel进行在线编辑,以及导出功能
  • 【征求意见】同济大学--城镇给水厂碳排放核算与评价方法
  • 【Python】后台开发返回方法和状态码类的实现
  • opencloudosV8.6和openEuler 24安装 k8s
  • Tensor安装和测试
  • ELK对业务日志进行收集
  • 新质生产力
  • 《LeetCode热题100》---<5.②普通数组篇五道>
  • 【面试题】【C语言】寻找两个正序数组的中位数
  • 原始的原型链是怎样玩的
  • RabbitMQ高级篇(如何保证消息的可靠性、如何确保业务的幂等性、延迟消息的概念、延迟消息的应用)
  • 正点原子imx6ull-mini-Linux驱动之platform设备驱动实验(14)
  • z3基础学习
  • 开发助手专业版,有反编译等多种功能
  • 嵌入式初学-C语言-十一
  • 浅谈几个常用OJ的注册方式
  • Html实现全国省市区三级联动
  • 前端构建工具Webpack 与 Vite 大对比
  • Ubuntu-22.04环境搭建
  • 嵌入式学习---DAY17:共用体与位运算
  • 蓝牙网关和蓝牙MESH总结
  • 了解关于标准化的知识
  • 【云原生】数据库忘记密码怎么办?
  • Postman 接口测试详解
  • 【JavaEE】线程状态
  • C++笔记之编译过程和面向对象
  • ModuleNotFoundError: No module named ‘tqdm‘
  • 东京电影节公布2024年竞赛片评审团成员并对其业绩分别进行评介 没什么含金量
  • 智能景区垃圾识别系统:基于YOLO的深度学习实现