自己記錄一下
定義User 双抽,Record
public class User {
private String user_id;
private String user_name;
private List<Record> recordList;
private Record record;
}
public class Record {
private String record_id;
private String record_name;
}
<resultMap id="userMap" type="com.air.manager.pojo.agent.User">
<id column="USER_ID" property="user_id" jdbcType="VARCHAR" />
<result column="USER_NAME" property="user_name" jdbcType="VARCHAR" />
// 一定续、關(guān)聯(lián)單個對象 association 责鳍,如果關(guān)聯(lián)對象超過一個會報錯
//方法1 使用select屬性查找selectRecordByUserId去加載
<association property="record" column="USER_ID" select="selectRecordByUserId"/>
//方法2 直接在內(nèi)部定義record屬性
<association property="record" javaType="com.air.manager.pojo.agent.Record" >
<id column="RECORD_ID" property="record_id" jdbcType="VARCHAR" />
<result column="RECORD_NAME" property="record_name" jdbcType="VARCHAR" />
</association >
// 二见间、關(guān)聯(lián)對象集合 collection
//方法1 使用select屬性查找selectRecordByUserId去加載
<collection property="recordList" column="USER_ID" select="selectRecordByUserId"/>
//方法2 直接在內(nèi)部定義recordList集合 ,javaType="java.util.ArrayList"可以不添加
<collection property="recordList" ofType="com.air.manager.pojo.agent.Record" javaType="java.util.ArrayList" >
<id column="RECORD_ID" property="record_id" jdbcType="VARCHAR" />
<result column="RECORD_NAME" property="record_name" jdbcType="VARCHAR" />
</collection>
</resultMap>
<select id="queryList" resultMap="userMap">
SELECT
T.USER_ID ,
T.USER_NAME
FROM KING_USER T
</select>
<resultMap id="recordMap" type="com.air.manager.pojo.agent.Record">
<id column="RECORD_ID" property="record_id" jdbcType="VARCHAR" />
<result column="RECORD_NAME" property="record_name" jdbcType="VARCHAR" />
</resultMap>
<select id="selectRecordByUserId" resultMap="recordMap">
SELECT
R.RECORD_ID,
R.RECORD_NAME
FROM KING_RECORD R WHERE R.USER_ID=#{userId} //這里的userId名稱可以隨意,一樣可以取到值
</select>
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者