三分鐘讀懂mybatis中resultMap和resultType區(qū)別
先說結(jié)論:
resultmap與resulttype的區(qū)別為:對(duì)象不同、描述不同、類型適用不同。
說人話就是,resultmap和resulttype功能差不多,但是resultmap功能更強(qiáng)大
resultType:
使用resultType進(jìn)行輸出映射時(shí),只有查詢出來的列名和pojo(簡單實(shí)例對(duì)象)中的屬性名一致,該列才可以映射成功。武斷一點(diǎn)來說:一般是以下這幾種類型才用resultType
1、基本類型 :resultType=基本類型(int,String等基本數(shù)據(jù)類型)
2、List類型: resultType=List中元素的類型
3、Map類型 單條記錄:resultType =map
多條記錄:resultType =Map中value的類型
<select id="count" resultType="int">
select count(id) from t_paper as p
LEFT JOIN t_type as t
ON
p.type_id=t.id
</select>resultMap:
前面說過,resultMap和resultType的功能類似,但是resultMap更強(qiáng)大一點(diǎn),resultMap可以實(shí)現(xiàn)將查詢結(jié)果映射為復(fù)雜類型的pojo,簡單來說就是,resultType解決不了的,都可以交給resultMap來解決。 在使用resultMap之前我們需要先定義一個(gè)符合當(dāng)前需求的resultMap.。
<resultMap id="paperResult" type="Paper">
<!-- column:數(shù)據(jù)庫字段名 property:實(shí)體的屬(變量)名 -->
<result column="id" property="id"/>
<result column="title" property="title"/>
<result column="type_id" property="typeId"/>
<result column="paper_summary" property="paperSummary"/>
<result column="paper_path" property="paperPath"/>
</resultMap>
<select id="selectPaperListByCondition" resultMap="paperResult">
SELECT
p.*, t.type_name from t_paper as p
LEFT JOIN
t_type as t
ON
p.type_id=t.id
WHERE
title='' and type_name=''
<where>
<if test="title != null and title != ''">
and title like '%${title}%'
</if>
<if test="typeName != null and typeName != ''">
and type_name=#{typeName}
</if>
</where>
limit #{start},#{size}
</select>總結(jié)
到此這篇關(guān)于mybatis中resultMap和resultType區(qū)別的文章就介紹到這了,更多相關(guān)mybatis resultMap和resultType區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實(shí)現(xiàn)ModbusTCP通信功能
使用ModbusTCP實(shí)現(xiàn)和硬件設(shè)備通信功能,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-08-08
編碼實(shí)現(xiàn)從無序鏈表中移除重復(fù)項(xiàng)(C和JAVA實(shí)例)
如果不能使用臨時(shí)緩存,你怎么實(shí)現(xiàn)無序鏈表中移除重復(fù)項(xiàng)(?C和JAVA實(shí)例無序鏈表中移除重復(fù)項(xiàng)。2013-10-10
解決springboot啟動(dòng)失敗的問題('hibernate.dialect'?not?set)
這篇文章主要介紹了解決springboot啟動(dòng)失敗的問題('hibernate.dialect'?not?set),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
Spring Boot集成Mybatis中如何顯示日志的實(shí)現(xiàn)
這篇文章主要介紹了Spring Boot集成Mybatis中如何顯示日志的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
MyBatis-Plus整合金倉數(shù)據(jù)庫KingbaseES的實(shí)戰(zhàn)指南
隨著數(shù)字中國建設(shè)的深入推進(jìn),國產(chǎn)數(shù)據(jù)庫在關(guān)鍵業(yè)務(wù)系統(tǒng)中扮演著越來越重要的角色,本文將通過一個(gè)電商系統(tǒng)的實(shí)戰(zhàn)案例,深入探討MyBatis-Plus整合KingbaseES的詳細(xì)步驟吧2025-10-10
Spring boot+mybatis+thymeleaf 實(shí)現(xiàn)登錄注冊(cè)增刪改查功能的示例代碼
這篇文章主要介紹了Spring boot+mybatis+thymeleaf 實(shí)現(xiàn)登錄注冊(cè)增刪改查功能的示例代碼,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
Java cookie和session會(huì)話技術(shù)介紹
session的工作原理和cookie非常類似,在cookie中存放一個(gè)sessionID,真實(shí)的數(shù)據(jù)存放在服務(wù)器端,客戶端每次發(fā)送請(qǐng)求的時(shí)候帶上sessionID,服務(wù)端根據(jù)sessionID進(jìn)行數(shù)據(jù)的響應(yīng)2023-04-04
Springboot配置文件Nacos和環(huán)境變量優(yōu)先級(jí)詳解
這篇文章主要介紹了Springboot配置文件Nacos和環(huán)境變量優(yōu)先級(jí),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-06-06

