Mybatis(四)映射文件

  1. 輸入映射

本節中的配置文件位置Config/mapper/UserMapper.xml

  1. 簡單類型

參考入門程序中的findUserById的映射文件。位置config/user.xml

  1. Pojo類型

參考入門程序insertUser。

  1. 包裝pojo類型

  1. 需求

綜合查詢時,可能會根據用戶信息、商品信息、訂單信息等作爲條件進行查詢,用戶信息中的查詢條件由:用戶的名稱和性別進行查詢

  1. 創建包裝pojo

加上getter和setter

  1. 映射文件

  1. mapper接口

  1. 測試代碼

  1. Map

和傳遞pojo類型一樣,map的key相當於pojo的屬性

  1. 映射文件

  1. 測試代碼

 

  1. 輸出映射

    1. resultType

    1. 使用要求

使用resultType進行結果映射時,需要查詢出的列名和映射的對象的屬性名一致,才能映射成功。

 

如果查詢的列名和對象的屬性名全部不一致,那麼映射的對象爲空。

如果查詢的列名和對象的屬性名有一個一致,那麼映射的對象不爲空,但是隻有映射正確那一個屬性纔有值。

 

如果查詢的sql的列名有別名,那麼這個別名就是和屬性映射的列名。

 

  1. 簡單類型

注意,對簡單類型的結果映射也是有要求的,查詢的列必須是一列,才能映射爲簡單類型。

  1. 需求

查詢用戶總數

  1. 映射文件

簡單類型的我沒有寫,直接用別人的圖parameterType需要改一下

  1. Mapper接口

  1. 測試代碼

  1. Pojo和包裝pojo

參考前面的findUserById和findUserByName

  1. resultMap

  1. 使用要求

使用resultMap進行結果映射時,不需要查詢的列名和映射的屬性名必須一致。但是需要聲明一個resultMap,來對列名和屬性名進行映射。

 

  1. 需求

對sql查詢結果進行對象映射

  1. 映射文件

  1. Mapper接口

  1. 測試代碼

  1. 動態sql

在mybatis中,它提供了一些動態sql標籤,可以讓程序員更快的進行mybatis的開發,這些動態sql可以通過sql的可重用性。。

常用的動態sql標籤:if標籤、where標籤、sql片段、foreach標籤

 

  1. If/where

  1. Sql片段

  1. Foreach

    1. 配置文件

  1. 包裝pojo類

UserQueryVO中加上idList和get set方法。

  1. Mapper接口