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

Mybatis Collection查询集合只出现一条数据

1、原因

    如果两表联查,主表和明细表的主键都是id的话,明细表的多条只能查询出来第一条。

 

2、解决办法

    级联查询的时候,主表和从表有一样的字段名的时候,在mysql上命令查询是没问题的。但在mybatis中主从表需要为相同字段名设置别名。设置了别名就OK了。

例子:

主表Standard, 从表StandEntity,均有名为id的字段

<resultMap id="StandardAndEntityResultMap" type="whu.edu.irlab.model.Standard" extends="BaseResultMap">
    <collection property="standEntities" ofType="whu.edu.irlab.model.StandEntity">
        (依据下面的select中更名的字段id别名se_id,在此将相同的字段名改为别名)
        <id column="se_id" property="id" jdbcType="INTEGER" /> 
        <result column="stand_id" property="standId" jdbcType="INTEGER" />
        <result column="stand_name" property="standName" jdbcType="VARCHAR" />
        <result column="entity_name" property="entityName" jdbcType="VARCHAR" />
    </collection>
</resultMap>
 
<select id="findAllStandardAndEntity" resultMap="StandardAndEntityResultMap">
    select
    standard.*,
    standard_entity.id se_id,(在此将两表中相同的字段名id改为别名se_id,对应的上面collection部分也需要更改)
    standard_entity.stand_id,
    standard_entity.stand_name,
    standard_entity.entity_name
    from
      standard INNER JOIN standard_entity on standard.id = standard_entity.stand_id
</select>

 

转载于:https://www.cnblogs.com/Gyoung/p/5286302.html

相关文章:

  • Navicat For MySql 9.1
  • codevs1297 硬币
  • 好久没更新了
  • Echarts中graph类型的运用求教
  • haproxy 配置
  • iOS-绘图(Quartz2D)的简单使用(原创)
  • TCC89x的内存分布区域设置
  • spring bean的scope
  • J-Link的RTT功能实践
  • MVVM for silverlight
  • sort()的多种用法
  • 产品生产环节的一些名词
  • 生活随笔-为知笔记发布博客到博客园
  • 对你有用的名言集锦
  • 探究adroid活动
  • canvas绘制圆角头像
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • C学习-枚举(九)
  • ERLANG 网工修炼笔记 ---- UDP
  • express如何解决request entity too large问题
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • leetcode98. Validate Binary Search Tree
  • MySQL QA
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • Sublime Text 2/3 绑定Eclipse快捷键
  • VUE es6技巧写法(持续更新中~~~)
  • 百度地图API标注+时间轴组件
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 基于遗传算法的优化问题求解
  • 前端面试题总结
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​2020 年大前端技术趋势解读
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #{} 和 ${}区别
  • #mysql 8.0 踩坑日记
  • #数学建模# 线性规划问题的Matlab求解
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (黑马C++)L06 重载与继承
  • (蓝桥杯每日一题)love
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (十八)SpringBoot之发送QQ邮件
  • (五)Python 垃圾回收机制
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET成年了,然后呢?
  • .NET连接数据库方式
  • /dev下添加设备节点的方法步骤(通过device_create)
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题