比如同时有User.java和Card.java两个类
User.java如下:
public class User{
private Card card_one;
private List<Card> card_many;
}
在映射card_one属性时用association标签, 映射card_many时用collection标签.
所以association是用于一对一和多对一,而collection是用于一对多的关系
association
注意:association 所调用的方法的resultType要和实体中定义的字段一致
public class WhiteListTransferDebtHoldingData {
private String diffDate;
private String beforeDate;
private String busiDate;
}
<resultMap id="WhiteListTransferDebtHoldingData" type="com.WhiteListTransferDebtHoldingData">
<result property="beforeDate" column="BEFOREDATE" jdbcType="VARCHAR"></result>
<result property="busiDate" column="BUSIDATE" jdbcType="VARCHAR"></result>
<association property="diffDate" select="getDiffWorkDate" column="{beforeDate=BEFOREDATE,busiDate=BUSIDATE}"/>
</resultMap>
<select id="getNewDebt" parameterType="map" resultMap="WhiteListTransferDebtHoldingData">
SELECT 'BEFOREDATE' AS BEFOREDATE, 'BUSIDATE' AS BUSIDATE FROM DUAL
</select>
<select id="getDiffWorkDate" parameterType="map" resultType="string">
SELECT COUNT(*) diffDate FROM DUAL
</select>