ResultType和resultMap
resultType把查詢結果封裝到pojo或entiey類型, 實體對象的屬性名和對應查詢到的資料庫的字段名要相同
規範:java中的屬性名遵循駝峰命名規則,資料庫遵循全小寫,單詞之間用_隔開
如果定義的實體對象屬性與sql查詢的不同則使用resultMap通過手動建立映射聯系
association标簽用于一對一表關聯查詢:
屬性property:主對象中儲存的屬性名
屬性javaType:關聯對象的類型,即屬性名的類型
屬性ofType:當表關系是一對多時,參數為泛型中的類型
collection标簽用于多對多查詢
屬性property:主對象中儲存的屬性名
屬性oftype:對應類型的全路徑
<!-- 查詢訂單和門店表資訊 -->
<select id="findDoorByOrder" resultMap="OrderRM"> select * from tb_order t1 left join tb_door t2 on t2.id=t1.door_id </select>
<!-- type:把結果封裝給哪個對象(或者别名)
id:唯一标志
column:資料庫中的字段名
property:實體中的屬性名 -->
<resultMap type="Order" id="OrderRM" >
<!-- 描述主鍵 -->
<id property="id" column="id"/>
<result property="doorId" column="door_id"/>
<result property="orderNo" column="order_no"/>
<result property="orderType" column="order_type"/>
<result property="personNum" column="person_num"/>
<result property="createTime" column="create_time"/>
<result property="endTime" column="end_time"/>
<result property="paymentType" column="payment_type"/>
<!-- 配置和訂單對象有一對一關系的門店 -->
<!-- 一對一用association:門店資訊
property:在主對象中儲存的屬性名
javaType:關聯對象的類型 -->
<association property="door"
javaType="Door">
<id property="id" column="id" />
<result property="name column="name" "/>
<result property="tel" column="tel" />
</association>