原文:https://blog.csdn.net/ren814/article/details/81742242

<resultMap id="menuModelMap" type="com.yyzq.springboot.model.MenuModel" >
<id column="id" property="id" jdbcType="BIGINT" />
<result column="menuname" property="menuname" jdbcType="VARCHAR" />
<result column="sort" property="sort" jdbcType="TINYINT" />
<result column="inputtime" property="inputtime" jdbcType="TIMESTAMP" /> <collection property="models" ofType="com.yyzq.springboot.model.Model">
<id column="model_id" property="id" jdbcType="BIGINT" />
<result column="modelname" property="modelname" jdbcType="VARCHAR" />
<result column="model_sort" property="sort" jdbcType="TINYINT" />
<result column="model_inputtime" property="inputtime" jdbcType="TIMESTAMP" /> <result column="url" property="url" jdbcType="VARCHAR" />
</collection>
</resultMap>
<select id="selectMenuModel" parameterType="Integer" resultMap="menuModelMap">
SELECT m.id , m.menuname, m.sort, m.inputtime, d.id AS model_id, d.modelname , d.sort AS model_sort, d.url,d.inputtime AS model_inputtime
FROM `es_menu_model` mm LEFT JOIN `es_menu` m ON m.id = mm.es_menu_id LEFT JOIN `es_model` d ON d.id = mm.es_model_id WHERE mm.`es_menu_id` = #{id}
</select>

以上为正确。

错误区:在结果集中,将俩个column中的ID混淆,我这边是区分的id和model_id,如果俩个都为同样的字段,系统在数据筛选的时候会出现无法判断,所以只能读取第一条数据作为最后结果。切记,结果集有集合的,在mapper文件写column的时候不设为一样的,在具体的sql中修改列名字
————————————————
版权声明:本文为CSDN博主「北九道」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ren814/article/details/81742242

Mybatis一对多或多对多只能查出一条数据解决策略的更多相关文章

  1. mybatis报错:查询一对多或多对多时只返回一条数据的问题

    问题: 使用映射文件实现查询一对多或多对多时只返回一条数据问题 解决方法: 导致这种情况出现的问题是因为两个表中的主键是一样所以出现了数据覆盖问题. 解决方式一:修改数据库表中的主键(这种方法比较麻烦 ...

  2. SSAS中事实表中的数据如果因为一对多或多对多关系复制了多份,在维度上聚合的时候还是只算一份

    SSAS事实表中的数据,有时候会因为一对多或多对多关系发生复制变成多份,如下图所示: 图1 我们可以从上面图片中看到,在这个例子中,有三个事实表Fact_People_Money(此表用字段Money ...

  3. jquery easyui datagrid 多选只能获取一条数据

    DataGrid属性: singleSelect ------如果为true,则只允许选择一行: idField ------- 指明哪一个字段是标识字段: 方法: 一:getSelections-- ...

  4. Mybatis一对多/多对多查询时只查出了一条数据

    问题描述: 如果三表(包括了关系表)级联查询,主表和明细表的主键都是id的话,明细表的多条数据只能查询出来第一条/最后一条数据. 三个表,权限表(Permission),权限组表(Permission ...

  5. resultMap中的collection集合出现只能读取一条数据的解决方法

    查询数据时只能获得collection集合中的的一条数据,相关情况如下: 结果集resultMap: <resultMap id="ManagerRolesAcls" typ ...

  6. 解决hibernate只能插入一条数据的问题

    hibernate初学,根据视频教程写好代码后,发现无论执行多少次main函数,数据库中只有一条数据,尝试多次,后来终于发现问题... 使用的工具是:MYSQL 5.7.13   eclipse 4. ...

  7. mybatis一对多 多对一 多对多

    https://blog.csdn.net/AdminGuan/article/details/98952484   Mybatis的Mapper该如何编写多对一? 很简单,就是在resultMap标 ...

  8. MyBatis 一对多,多对一关联查询的时候Mapper的顺序

    要先写association,然后写collection:这是由DTD决定的: <resultMap ...> <association ...> </associati ...

  9. Mybatis 一对多 多对1

    http://blog.csdn.net/z69183787/article/details/46833565 http://blog.csdn.net/rain097790/article/deta ...

随机推荐

  1. poj3249 拓扑找最长路

    Test for Job Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 11230   Accepted: 2651 Des ...

  2. Spring注入的对象到底是什么类型

    开篇 之前,在用spring编码调试的时候,有时候发现被自动注入的对象是原始类的对象,有时候是代理类的对象,那什么时候注入的原始类对象呢,有什么时候注入的是代理类的对象呢?心里就留下了这个疑问.后来再 ...

  3. Mysql数值类型,小数点后保留两个零

    如有不足请帮忙留言区补充谢谢~ 一,数值类型保留小数点后两个0 在存入数据时,应客户需求数值类型,比如钱数,分数等等需要精确到小数点后几位. 800存入时显示为800.00 方法:在建表时直接定义此数 ...

  4. PHP 连接数据库基础操作

    <?phpheader('Content-type:text/html;charset=utf-8');//1建立 或者 关闭mysql服务器   @符号用于屏蔽错误信息$link=@mysql ...

  5. 3.CSS字体属性

    CSS Fonts(字体)属性用定义字体系列,大小粗细,和文字样式(如斜体) 3.1字体系列 CSS使用font-family属性定义文本字体系列 p { font-family:'微软雅黑' ;} ...

  6. 彻底理解JavaScript ES6中的import和export

    0.前言 前端工程,在最早的时候是没有模块的概念的.随着前端工程的发展,前端开发也越来越规范化,更像是软件工程了.那么随之而来的,为了解决工程化的问题,就引入了模块的概念.但是在早期,因为ecmasc ...

  7. Chrome自带全网页截图

    1.等待网页打开完毕 2.组合键 ctrl+shift+i 打开开发者工具 3.按 ctrl+shift+p 调出一个面板 4.输出 full 5.在下一行出现 capture full size s ...

  8. 《CEO说》读后感

    <CEO说>读书心得(1至3章): 成功的企业和街头小贩有着共性的商业智慧,能够透过复杂的表象看到商业的本质,化繁为简,抓住企业经营的根本要素(现金净流入.利润.周转率.资产收益率.业务增 ...

  9. 这些Java8官方挖过的坑,你踩过几个?

    导读:系统启动异常日志竟然被JDK吞噬无法定位?同样的加密方法,竟然出现部分数据解密失败?往List里面添加数据竟然提示不支持?日期明明间隔1年却输出1天,难不成这是天上人间?1582年神秘消失的10 ...

  10. HTML5+CSS+JS 贪吃蛇demo

    我写博客的主要目的就是温习所学的知识,自己以前写的游戏当然不能放过! 这款网页版贪吃蛇是大一下册学习网页前端时老师教我们写的,由于那个时候初学网页前端,所以这款游戏是纯原生Java Script写的, ...