Mybatis 輸出對映-- resultType resultMap
在mapper.xml檔案中,寫一個statement,需要有id,輸入對映或輸出對映。這裡我們介紹輸出對映。
輸出對映有兩種形式。一種是resultType,另一種是resultMap;
使用resultType進行輸出對映,只有查詢出來的列名和pojo中的屬性名一致,該列才可以對映成功。
如果查詢出來的列名和pojo的屬性名不一致,定義一個resultMap對列名和pojo屬性名之間作一個對映關係
1.resultType
這種方式使用比較簡單,只要在statement的語句中,查詢的列名和我們定義的pojo的屬性名稱一致,就能對映成功
mapper.xml中查詢的id和username;
<!-- 在對映檔案中配置很多sql語句 -->
<!-- 需求:通過id查詢使用者表的記錄 -->
<!-- 通過select執行資料庫的查詢 -->
<!-- id:標識對映檔案中的sql -->
<!-- 將sql語句封裝到mappedStatement物件中,所以將id成為statement 的id -->
<select id="findUserById" parameterType="int" resultType="user">
select id,username from USER where id = #{id}
</select>
Pojo User
package cn.itcast.mybatis.po;
import java.util.Date;
/**
* 使用者資訊 Po:持久層物件Model
* @author fxq
*
*/
public class User {
private int id;
private String username;
private String sex;
private Date birthday;
private String address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
2.resultMap
如果查詢出來的列名和pojo的屬性名不一致,通過定義一個resultMap對列名和pojo屬性名之間作一個對映關係。
(1).定義resultMap
<!-- 定義resultMap 將SELECT id id_,username username_ FROM USER WHERE id=#{value} -->
column:查詢出的列名,
property:pojo中對應的列名; id表示查詢結果集中唯一標識
<resultMap type="user" id="userResultMap">
<id column="id_" property="id" />
<result column="username_" property="username" />
</resultMap>
<!-- 使用resultMap進行輸出對映; resultMap中是resultMap轉化的id; -->
<select id="findUserById" parameterType="int" resultMap="userResultMap">
select id id_,username username_ from USER where id = #{id}
</select>
3.總結
根據查詢出列名是否和pojo的屬性名稱是否一致,來分析選擇輸出對映的型別;相關文章
- resultMap 和 resultType 的欄位對映覆蓋問題
- mybatis之sql查詢配置檔案resultType和resultMapMyBatisSQL
- mybatis xml裡的 resultMap、resultOrdered、resultSets、resultSetType、resultType 區別MyBatisXML
- mybatis入門基礎(四)----輸入對映和輸出對映MyBatis
- MyBatis(四) 對映器配置(自動對映、resultMap手動對映、引數傳遞)MyBatis
- Mybatis 強大的結果集對映器resultMapMyBatis
- 關於mybatis中的resultType與resultMap用法及誤區MyBatis
- 【Mybatis系列】從原始碼角度理解Mybatis欄位對映-AS&ResultMapMyBatis原始碼
- Mybatis配置檔案resultMap對映啥時候可寫可不寫?MyBatis
- MyBatis學習 之 二、SQL語句對映檔案(1)resultMapMyBatisSQL
- mybatis使用association的resultMap方式進行對映少資料問題MyBatis
- 深入淺出MyBatis:「對映器」全瞭解MyBatis
- Mybatis結果對映MyBatis
- MyBatis 使用resultMap 以及 一對一和一對多MyBatis
- Mybatis 基礎xml對映MyBatisXML
- MyBatis3:SQL對映MyBatisS3SQL
- MyBatis從入門到精通(九):MyBatis高階結果對映之一對一對映MyBatis
- MyBatis從入門到精通(十一):MyBatis高階結果對映之一對多對映MyBatis
- Mybatis實體關聯對映MyBatis
- mybatis關聯關係對映MyBatis
- Mybatis對映檔案簡介MyBatis
- MyBatis 結果對映總結MyBatis
- mybatis高階結果對映MyBatis
- Mybatis學習筆記(5)-高階對映之多對多對映MyBatis筆記
- Mybatis學習筆記(4)-高階對映之一對多對映MyBatis筆記
- Mybatis學習筆記(3)—高階對映之一對一對映MyBatis筆記
- myBatis——註解,#{}與${},resultMap的使用MyBatis
- MyBatis實現一對一關聯對映MyBatis
- Mybatis處理列名—欄位名對映— 駝峰式命名對映MyBatis
- mybatis一對多查詢resultMap只返回了一條記錄MyBatis
- Mybatis筆記03---ResultMap及分頁MyBatis筆記
- day07-MyBatis的關聯對映01MyBatis
- MyBatis框架之SQL對映和動態SQLMyBatis框架SQL
- 5、中文的輸出(GBK不可對映字元的解決方案)字元
- Mybatis基礎:Mybatis對映配置檔案,Mybatis核心配置檔案,Mybatis傳統方式開發MyBatis
- mybatis中resultMap使用之返回分組資料MyBatis
- mybatis中註解對映SQL示例程式碼MyBatisSQL
- MyBatis學習筆記(2)—對映關係篇MyBatis筆記