mybatis collection嵌套查询语句时,多条数据只查询出一条可能存在的问题

代码如下:

<resultMap id="result_SwcRpsstmr_Map" type="cc.geoworks.wscs.web.entity.SwcRpsstmr">
    <id column="SPID" property="spid" />
    <result column="RFCD" property="rfcd" />
    <result column="OBTM" property="obtm" />
</resultMap>

<resultMap id="SwcRpsstmrMap" type="cc.geoworks.wscs.web.entity.SwcRpsstmr" extends="result_SwcRpsstmr_Map">
    <collection property="rpssList" javaType="ArrayList" ofType="cc.geoworks.wscs.web.entity.SwcRpss" columnPrefix="RPSS_" resultMap="rpssMap"/>
</resultMap>

<resultMap id="rpssMap" type="cc.geoworks.wscs.web.entity.SwcRpss">
    <id property="rpcd" column="RPCD"/> //必须为唯一值
    <result property="rpnm" column="RPNM"/>
    <result property="spid" column="SPID"/>
    <collection property="tanks" javaType="ArrayList" ofType="cc.geoworks.wscs.web.entity.SwcRpsswdr" columnPrefix="TK_" resultMap="SwcRpsswdrBbsMap"/>
</resultMap>

<resultMap id="SwcRpsswdrBbsMap" type="cc.geoworks.wscs.web.entity.SwcRpsswdr">
    <id column="SPWID" property="spwid" />    //此处为问题所在,必须为唯一值
    <result column="SPID" property="spid" />
    <result column="NT" property="nt" />
    <result column="MODITIME" property="moditime" />
</resultMap>

<sql id="rpss_column_list">
    d.RPCD  AS RPSS_RPCD,//此处 前缀与SwcRpsstmrMap里columnprefix一致  
    b.RPNM  AS RPSS_RPNM,
    m.SPID  AS RPSS_SPID
</sql>
<sql id="rpsswdr_column_list">
    t.SPWID AS RPSS_TK_SPWID,  //此处的前缀与SwcRpsstmrMap、rpssMap 里的columnprefix一致
    m.SPID  AS RPSS_TK_SPID,
    d.nt  AS RPSS_TK_NT,
</sql>
<select id="findList" parameterType="cc.geoworks.wscs.web.common.Assist" resultMap="SwcRpsstmrMap">
    SELECT
    <include refid="rpss_column_list" />
    <include refid="rpsswdr_column_list" />
    FROM
    swc_rpsstm_r m
    INNER JOIN table1 d ON m.SPID = d.SPID
    INNER JOIN table2 t ON t.SPWID = d.SPWID
    INNER JOIN table3 b ON b.RPCD = d.RPCD
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值