zoukankan      html  css  js  c++  java
  • Mybatis Collection查询集合只出现一条数据

    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>

    原文链接 http://my.oschina.net/u/1020238/blog/517115?fromerr=qPbx9Vfc

  • 相关阅读:
    CentOS 7基于Containerd部署Kubernetes v1.20.5
    【k8s记录】二进制安装kubernetes高可用集群全过程完整版v1.20
    前台后台$.psot交互
    $.ajax与$.post、$.get的一点区别
    layui与jQuery一起使用
    用Emmet写前端代码
    栅格布局的实现过程,容器到列的划分
    bootstrap环境
    2个爬虫
    think PHP5中,模板、控制器、JavaScript的url跳转重定向方法
  • 原文地址:https://www.cnblogs.com/junge/p/5145881.html
Copyright © 2011-2022 走看看