最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MyBatis查詢結(jié)果resultType返回值類(lèi)型的說(shuō)明

 更新時(shí)間:2020年11月23日 11:02:15   作者:留蘭香丶  
這篇文章主要介紹了MyBatis查詢結(jié)果resultType返回值類(lèi)型的說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

一、返回一般數(shù)據(jù)類(lèi)型

比如要根據(jù) id 屬性獲得數(shù)據(jù)庫(kù)中的某個(gè)字段值。

mapper 接口:

// 根據(jù) id 獲得數(shù)據(jù)庫(kù)中的 username 字段的值

String getEmpNameById(Integer id);

SQL 映射文件:

 <!-- 
  指定 resultType 返回值類(lèi)型時(shí) String 類(lèi)型的,
  string 在這里是一個(gè)別名,代表的是 java.lang.String 

  對(duì)于引用數(shù)據(jù)類(lèi)型,都是將大寫(xiě)字母轉(zhuǎn)小寫(xiě),比如 HashMap 對(duì)應(yīng)的別名是 'hashmap'
  基本數(shù)據(jù)類(lèi)型考慮到重復(fù)的問(wèn)題,會(huì)在其前面加上 '_',比如 byte 對(duì)應(yīng)的別名是 '_byte'
 -->
 <select id="getEmpNameById" resultType="string">
  select username from t_employee where id = #{id}
 </select>

二、返回 JavaBean 類(lèi)型

比如根據(jù)某個(gè)字段獲得數(shù)據(jù)庫(kù)中的信息,把查詢的結(jié)果信息封裝成某個(gè) JavaBean 類(lèi)型的數(shù)據(jù)。

mapper 接口:

// 根據(jù) id 查詢信息,并把信息封裝成 Employee 對(duì)象

Employee getEmpById(Integer id);

SQL 映射文件:

 <!-- 
  通過(guò) resultType 指定查詢的結(jié)果是 Employee 類(lèi)型的數(shù)據(jù) 
  只需要指定 resultType 的類(lèi)型,MyBatis 會(huì)自動(dòng)將查詢的結(jié)果映射成 JavaBean 中的屬性
 -->
 <select id="getEmpById" resultType="employee">
  select * from t_employee where id = #{id}
 </select>

三、返回List類(lèi)型

有時(shí)候我們要查詢的數(shù)據(jù)不止一條,比如:模糊查詢,全表查詢等,這時(shí)候返回的數(shù)據(jù)可能不止是一條數(shù)據(jù),對(duì)于多數(shù)據(jù)的處理可以存放在List集合中。

mapper 接口:

// 假如是全表查詢數(shù)據(jù),將查詢的數(shù)據(jù)封裝成 Employee 類(lèi)型的集合

List<Employee> getAllEmps();

SQL 映射文件:

 <!--
  注意這里的 resultType 返回值類(lèi)型是集合內(nèi)存儲(chǔ)數(shù)據(jù)的類(lèi)型,不是 'list'
 -->
 <select id="getAllEmps" resultType="employee">
  select * from t_employee
 </select>

四、返回Map類(lèi)型

MyBatis 還支持將查詢的數(shù)據(jù)封裝成Map。

1. 如果查詢的結(jié)果是一條,我們可以把查詢的數(shù)據(jù)以{表字段名, 對(duì)應(yīng)的值}方式存入到Map中。

mapper 接口:

// 根據(jù) id 查詢信息,并把結(jié)果信息封裝成 Map

Map<String, Object> getEmpAsMapById(Integer id);

SQL 映射文件:

 <!-- 
  注意這里的 resultType 返回值類(lèi)型是 'map'
  -->
 <select id="getEmpAsMapById" resultType="map">
  select * from t_employee where id = #{id}
 </select>

下面把查詢的結(jié)果數(shù)據(jù)貼出來(lái)供大家參考:

2. 如果查詢的結(jié)果是多條數(shù)據(jù),我們也可以把查詢的數(shù)據(jù)以{表中某一字段名, JavaBean}方式來(lái)封裝成Map。

mapper 接口:

 // 查詢所有員工的信息,把數(shù)據(jù)庫(kù)中的 'id' 字段作為 key,對(duì)應(yīng)的 value 封裝成 Employee 對(duì)象
 // @MapKey 中的值表示用數(shù)據(jù)庫(kù)中的哪個(gè)字段名作 key
 @MapKey("id")
 Map<Integer, Employee> getAllEmpsAsMap();

SQL 映射文件:

 <!--
  注意 resultType 返回值類(lèi)型,不再是 'map',而是 Map 的 value 對(duì)應(yīng)的 JavaBean 類(lèi)型
 -->
 <select id="getAllEmpsAsMap" resultType="employee">
  select * from t_employee
 </select>

下面是查詢的結(jié)果 (只截取了一部分):

MyBatis 允許查詢的結(jié)果封裝成Map,這種機(jī)制是極好的。

五、擴(kuò)展

擴(kuò)展. 上面返回結(jié)果的形式都是基于查詢 (select) 的,其實(shí)對(duì)于增刪改的操作也可以返回一定類(lèi)型的數(shù)據(jù),比如Boolean,Integer等。

總結(jié).

本文主要介紹了在開(kāi)發(fā)中常用的幾種數(shù)據(jù)返回值類(lèi)型,希望能夠?yàn)槟闾峁椭?/p>

補(bǔ)充知識(shí):mybatis select返回多條記錄即返回類(lèi)型為list時(shí),resultType的寫(xiě)法

如下所示:

查詢出的結(jié)果可能有好多條記錄,返回類(lèi)型即是list。但resultType還是寫(xiě)成resultType="user"(user為集合list中的實(shí)體類(lèi)),而不是寫(xiě)成resultType="java.util.List"

以上這篇MyBatis查詢結(jié)果resultType返回值類(lèi)型的說(shuō)明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot 中的 Spring Cloud Feign的原理解析

    Spring Boot 中的 Spring Cloud Feign的原

    Spring Cloud Feign 是 Spring Cloud 中的一個(gè)組件,它可以幫助我們實(shí)現(xiàn)聲明式的 REST 客戶,這篇文章主要介紹了Spring Boot 中的 Spring Cloud Feign,需要的朋友可以參考下
    2023-07-07
  • java字符串轉(zhuǎn)JSON簡(jiǎn)單代碼示例

    java字符串轉(zhuǎn)JSON簡(jiǎn)單代碼示例

    這篇文章主要給大家介紹了關(guān)于java字符串轉(zhuǎn)JSON的相關(guān)資料,JSON?是一種輕量級(jí)的數(shù)據(jù)交換格式,常用于Web應(yīng)用程序中的數(shù)據(jù)傳輸,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • Java ByteBuffer網(wǎng)絡(luò)編程用法實(shí)例解析

    Java ByteBuffer網(wǎng)絡(luò)編程用法實(shí)例解析

    這篇文章主要介紹了Java ByteBuffer網(wǎng)絡(luò)編程用法實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Java concurrency線程池之線程池原理(四)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java concurrency線程池之線程池原理(四)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了Java concurrency線程池之線程池原理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • SpringBoot @Autowired注入為空的情況解讀

    SpringBoot @Autowired注入為空的情況解讀

    這篇文章主要介紹了SpringBoot @Autowired注入為空的情況解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java中Integer.parseInt和Integer.valueOf區(qū)別小結(jié)

    Java中Integer.parseInt和Integer.valueOf區(qū)別小結(jié)

    在Java中,Integer.parseInt()和Integer.valueOf()都可以將字符串轉(zhuǎn)換為整數(shù)類(lèi)型,那么他們有哪些區(qū)別呢,本文就來(lái)詳細(xì)的介紹一下
    2023-09-09
  • Java 超詳細(xì)圖解集合框架的數(shù)據(jù)結(jié)構(gòu)

    Java 超詳細(xì)圖解集合框架的數(shù)據(jù)結(jié)構(gòu)

    什么是集合框架呢?集合框架是為表示和操作集合而規(guī)定的一種統(tǒng)一的標(biāo)準(zhǔn)的體系結(jié)構(gòu)。最簡(jiǎn)單的集合如數(shù)組、列表和隊(duì)列等,任何集合框架一般包含:對(duì)外的接口、接口的實(shí)現(xiàn)和對(duì)集合運(yùn)算的算法
    2022-04-04
  • idea創(chuàng)建的idea項(xiàng)目時(shí)springframework出現(xiàn)紅色的原因和解決方法

    idea創(chuàng)建的idea項(xiàng)目時(shí)springframework出現(xiàn)紅色的原因和解決方法

    當(dāng)使用 IntelliJ IDEA 創(chuàng)建 Spring Framework 項(xiàng)目時(shí),springframework 出現(xiàn)紅色可能是因?yàn)橄嚓P(guān)的 Spring Framework 依賴沒(méi)有正確加載或項(xiàng)目的配置有問(wèn)題,本文給大家介紹了一些常見(jiàn)的原因和解決方法,需要的朋友可以參考下
    2023-09-09
  • Java冒泡排序法和選擇排序法的實(shí)現(xiàn)

    Java冒泡排序法和選擇排序法的實(shí)現(xiàn)

    這篇文章主要介紹了Java冒泡排序法和選擇排序法的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Spring中@Scheduled功能的使用方法詳解

    Spring中@Scheduled功能的使用方法詳解

    @Scheduled 由Spring定義,用于將方法設(shè)置為調(diào)度任務(wù),下面這篇文章主要給大家介紹了關(guān)于Spring中@Scheduled功能的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04

最新評(píng)論

宜章县| 广德县| 墨竹工卡县| 双牌县| 双城市| 奉节县| 西乌珠穆沁旗| 吉水县| 东明县| 依兰县| 建水县| 淮安市| 巴南区| 甘肃省| 沙河市| 正镶白旗| 五华县| 三穗县| 谢通门县| 南江县| 中方县| 广饶县| 宝应县| 汾西县| 鲜城| 霸州市| 抚松县| 枞阳县| 江阴市| 长兴县| 万全县| 固安县| 遂平县| 金溪县| 诸暨市| 宣威市| 滨州市| 海阳市| 凯里市| 万宁市| 建昌县|