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

博客围绕MyBatis展开,涉及嵌套查询多条数据相关内容,虽未给出详细代码,但从标签可知重点在于MyBatis的嵌套查询功能,用于处理多条数据的查询场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码如下:

<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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值