mybatis collection使用小计

第一次写博客,先记下自己遇到的坑.后面不断完善.

collection关联查询

<resultMap id="resultTestMap" type="resultTest">
    <id property="resulttestid" column="resulttestid"/>
    <result property="knr" column="knr"/>
    <result property="vin" column="vin"/>
    <result property="cartype" column="cartype"/>
    <result property="system" column="system"/>
    <result property="sysnr" column="sysnr"/>
    <result property="releasenr" column="releasenr"/>
    <result property="testplace" column="testplace"/>
    <result property="asvversion" column="asvversion"/>
    <result property="odxversion" column="odxversion"/>
    <result property="result" column="result"/>
    <result property="testorder" column="testorder"/>
    <result property="shift" column="shift"/>
    <result property="testtimestamp" column="testtimestamp"/>
    <result property="recordtime" column="recordtime"/>
    <collection property="ptbList" ofType="ptb" column="resulttestid" select="selectPtb"/>
</resultMap>
<resultMap id="ptbMap" type="ptb">
    <result property="ptbno" column="ptbno"/>
    <result property="ptbtext" column="ptbtext"/>
    <result property="result" column="result"/>
    <result property="ptbid" column="ptbid"/>
    <result property="resulttestid" column="resulttestid"/>
</resultMap>
<select id="selectPtb" parameterType="java.lang.Integer" resultMap="ptbMap">
SELECT
    ptbno
    FROM ptb
    WHERE resulttestid = #{resulttestid}
</select>
<select id="selectResultDetail" resultMap="resultTestMap">
SELECT
    releasenr,
    cartype,
    system,
    sysnr,
    testplace,
    result,
    shift,
    vin,
    testtimestamp,
    resulttestid
    FROM result_test
    WHERE knr = '2727791'
    AND resulttestid = '1'
</select>
之前ptbList一直无法获取到值,弄了挺长时间没弄好.网上查资料感觉写法也没什么问题.后来才发现

selectResultDetail这里面要查询出resulttestid,这样才能把值传过去.

猜你喜欢

转载自iammabing.iteye.com/blog/2419884