MyBatis實現高級結果映射

查詢語句

<select id="getUserList"
    resultType="userResult">
    select * from smbms_user
</select>

1.使用association實現一對一關係映射

第一種方式:

<resultMap type="com.alan.pojo.User" id="userResult">
  	<result column="userName" property="userName"/>
  	<result column="userPassword" property="password"/>
  	<!-- 一對一查詢 -->
  	<association property="role" javaType="com.alan.pojo.Role">
  		<id property="id" column="r_id"/>
  		<result property="roleCode" column="roleCode"/>
  		<result property="roleName" column="roleName"/>
  	</association>
</resultMap>

column:對應數據庫字段名

property:JavaBean中對應字段

association ——>property:javaBean中對應字段

第二種方式:

<resultMap type="com.alan.pojo.User" id="userResult">
  	<result column="userName" property="userName"/>
  	<result column="userPassword" property="password"/>
  	<!-- 一對一查詢 -->		
    <association property="role" javaType="com.alan.pojo.Role" resultMap="roleResult"/>
</resultMap>
<resultMap type="com.alan.pojo.Role" id="roleResult">
  	<id property="id" column="r_id"/>
  	<result property="roleCode" column="roleCode"/>
  	<result property="roleName" column="roleName"/>
</resultMap>

2.使用collection實現一對多關係映射

<resultMap type="com.alan.pojo.User" id="userResult">
  	<result column="userName" property="userName"/>
  	<result column="userPassword" property="password"/>
  		
  	<!-- 一對多查詢 -->
  	<collection property="addressList" ofType="com.alan.pojo.Address">
  		<id property="id" column="a_id"/>
  		<result property="contact" column="contact"/>
  		<result property="addressDesc" column="addressDesc"/>
  	</collection>
 </resultMap>

collection ——>property:javaBean中對應字段

ofType:JavaBean的類名(全名)或者typeAliases(別名)

collection的第二種方式可參照association的第二種方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章