mybatis コレクションがクエリ ステートメントをネストする場合、複数のデータに対して考えられる問題が 1 つだけクエリされます。

コードは以下のように表示されます。

<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
    内部結合テーブル 1 d ON m.SPID = d.SPID
    内部結合テーブル 2 t ON t.SPWID = d.SPWID
    内部結合テーブル 3 b ON b.RPCD = d.RPCD

おすすめ

転載: blog.csdn.net/luwei_cool/article/details/117471380
おすすめ