Mybatis配置檔案resultMap對映啥時候可寫可不寫?
1、student實體類
public class Student {
private Integer id;//編號
private String name;//姓名
private Double sal;//薪水
public Student(){}
public Student(Integer id, String name, Double sal) {
this.id = id;
this.name = name;
this.sal = sal;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getSal() {
return sal;
}
public void setSal(Double sal) {
this.sal = sal;
}
}
2、students表結構 1 欄位名與實體類欄位名相同
create table students(
id int(5) primary key,
name varchar(10),
sal double(8,2)
);
2.1、resultMap 對映程式碼
<mapper namespace="studentNamespace">
<resultMap type="mybatis.hello.Student" id="studentMap">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="sal" column="sal"/>
</resultMap>
</mapper>
create table students(
students_id int(5) primary key,
students_name varchar(10),
students_sal double(8,2)
);
3.1、resultMap 對映程式碼
<mapper namespace="studentNamespace">
<resultMap type="mybatis.hello.Student" id="studentMap">
<id property="id" column="students_id"/>
<result property="name" column="students_name"/>
<result property="sal" column="students_sal"/>
</resultMap>
</mapper>
1、可不寫
當實體屬性與表欄位名相同的時候,即上面的1和2的情況,2.1resultMap對映程式碼可不寫。
select時,返回用 resultType
<select id="findById" parameterType="int" resultType="mybatis.hello.Student">
select id,name,sal from students where id = #{id}
</select>
2、必須寫
當實體屬性與表欄位名不同的時候,即上面的1和3的情況,3.1resultMap對映程式碼必須寫。
select時,返回用 resultMap
<select id="findById" parameterType="int" resultMap="studentMap">
select students_id,students_name,students_sal
from students
where students_id = #{xxxxxxxxxxxxxxxxxx}
</select>
3、為什麼相同可不寫,不同必須寫?
因為用了java反射技術,如果列名和實體類欄位名不同,則反射不成功。
相關文章
- Mybatis 輸出對映-- resultType resultMapMyBatis
- MyBatis學習 之 二、SQL語句對映檔案(1)resultMapMyBatisSQL
- MyBatis(四) 對映器配置(自動對映、resultMap手動對映、引數傳遞)MyBatis
- Mybatis基礎:Mybatis對映配置檔案,Mybatis核心配置檔案,Mybatis傳統方式開發MyBatis
- mybatis之sql查詢配置檔案resultType和resultMapMyBatisSQL
- Mybatis對映檔案簡介MyBatis
- Mybatis 強大的結果集對映器resultMapMyBatis
- 【Mybatis系列】從原始碼角度理解Mybatis欄位對映-AS&ResultMapMyBatis原始碼
- mybatis使用association的resultMap方式進行對映少資料問題MyBatis
- 『手寫Mybatis』實現對映器的註冊和使用MyBatis
- mybatis原始碼配置檔案解析之五:解析mappers標籤(解析XML對映檔案)MyBatis原始碼APPXML
- MyBatis系列之對映檔案中的ResultMapsMyBatis
- 配置檔案的編寫
- 基於JDBC寫一個和mybatis類似的對映框架—DBUtilsJDBCMyBatis框架
- Java Web後端技術 (下) - 3.MyBatis 複雜對映&配置檔案深入JavaWeb後端MyBatis
- java 讀寫 ini 配置檔案Java
- Golang對檔案讀寫操作Golang
- Mybatis 學習筆記(一)——配置檔案SqlMapConfig.xml和對映檔案Mapper.xmlMyBatis筆記SQLXMLAPP
- Hibernate配置檔案中對映元素詳解
- typeScript 配置檔案該怎麼寫?TypeScript
- Mybatis的Mapper對映檔案中常用標籤及作用MyBatisAPP
- Mybatis結果對映MyBatis
- MyBatis 使用resultMap 以及 一對一和一對多MyBatis
- linux/windows 讀寫ini配置檔案LinuxWindows
- C#中讀寫INI配置檔案C#
- 最全MyBatis中XML對映檔案(Mapper)標籤分析及示例MyBatisXMLAPP
- MyBatis系列之對映檔案之sql、Parameters、cache和cache-refMyBatisSQL
- Middlegen生成Hibernate對映檔案時出錯
- printf重寫,可存入檔案、也可存入快取buff快取
- C語言判斷檔案是否存在,判斷檔案可讀可寫可執行C語言
- resultMap 和 resultType 的欄位對映覆蓋問題
- checkpoint時的SCN寫檔案動作
- 關聯查詢的resultMap寫法示例
- PostgreSQL 物理檔案對映解析SQL
- MyBatis載入配置檔案MyBatis
- MyBatis配置檔案總結MyBatis
- Linux檔案讀、寫、執行許可權Linux
- 目錄檔案有寫許可權 危險