项目中以前使用的是Hibernate执行多表之间的关系。
以此记录,一对多的使用方法
<!-- 发票记录返回参数 --> <resultMap id="InvoicesRecoreMap" type="org.opsteel.wcyl.module.invoice.vo.InvoicesRecoreVo"> <id column="ORDERNO" property="orderno"/> <result column="INVOICESTATUS" property="invoicestatus"/> <result column="INVOICENO" property="invoiceno"/> <result column="AMOUNT" property="amount"/> <result column="WEIGHT" property="weight"/> <!-- 一对多关系 --> <collection property="recoreDetailVos" javaType="ArrayList" column="orderno" ofType="org.opsteel.wcyl.module.invoice.vo.InvoicesRecoreDetailVo" select="getRecoreDetail"/> </resultMap> <!-- 某开票记录产品情况 --> <select id="getInvoiceRecordByCompanyId" resultMap="InvoicesRecoreMap" parameterType="Map"> select o.orderno,o.invoicestatus, oi.invoiceno, oi.amount, o.weight from WC_ORDER_INVOICE oi left join WC_ORDER o on o.orderno = oi.orderno left join WC_COMPANY_INVOICE ci on oi.invoiceid = ci.id <where> <if test="companyId != null and companyId != '' "> ci.companyid =#{companyId} </if> <if test="(invoicestatus != null and invoicestatus != '') or invoicestatus==0 "> and o.invoicestatus = #{invoicestatus} </if> </where> </select> <!-- 查询开票产品详细 --> <select id="getRecoreDetail" resultType="org.opsteel.wcyl.module.invoice.vo.InvoicesRecoreDetailVo"> select od.typename,od.specname,od.theloanamount,od.weight from WC_ORDERDETAIL od where od.orderno=#{orderno} </select>
详细可见以下地址文档查看更多的用法
http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html#Result_Maps