亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MyBatis查詢結(jié)果resultType返回值類型的說明

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

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

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

mapper 接口:

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

String getEmpNameById(Integer id);

SQL 映射文件:

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

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

二、返回 JavaBean 類型

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

mapper 接口:

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

Employee getEmpById(Integer id);

SQL 映射文件:

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

三、返回List類型

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

mapper 接口:

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

List<Employee> getAllEmps();

SQL 映射文件:

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

四、返回Map類型

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 返回值類型是 'map'
  -->
 <select id="getEmpAsMapById" resultType="map">
  select * from t_employee where id = #{id}
 </select>

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

2. 如果查詢的結(jié)果是多條數(shù)據(jù),我們也可以把查詢的數(shù)據(jù)以{表中某一字段名, JavaBean}方式來封裝成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 返回值類型,不再是 'map',而是 Map 的 value 對(duì)應(yīng)的 JavaBean 類型
 -->
 <select id="getAllEmpsAsMap" resultType="employee">
  select * from t_employee
 </select>

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

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

五、擴(kuò)展

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

總結(jié).

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

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

如下所示:

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

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

相關(guān)文章

  • SpringBoot中的Profile多環(huán)境配置方法

    SpringBoot中的Profile多環(huán)境配置方法

    這篇文章主要介紹了SpringBoot中的Profile多環(huán)境配置,SpringBoot提供了兩種多環(huán)境配置的方式,分別是使用profile文件進(jìn)行多環(huán)境配置以及使用@Profile注解進(jìn)行多環(huán)境配置,需要的朋友可以參考下
    2023-01-01
  • Java 1.0和Java 1.1 的IO類的比較

    Java 1.0和Java 1.1 的IO類的比較

    Java庫(kù)的IO分為輸入/輸出兩部分。早期的Java 1.0版本的輸入系統(tǒng)是InputStream及其子類,輸出系統(tǒng)是OutputStream及其子類。后來的Java 1.1版本對(duì)IO系統(tǒng)進(jìn)行了重新設(shè)計(jì)。本分對(duì)此做了分析和比較,有利于學(xué)習(xí),最后給出了例子。
    2013-11-11
  • Java 實(shí)現(xiàn)Redis存儲(chǔ)復(fù)雜json格式數(shù)據(jù)并返回給前端

    Java 實(shí)現(xiàn)Redis存儲(chǔ)復(fù)雜json格式數(shù)據(jù)并返回給前端

    這篇文章主要介紹了Java 實(shí)現(xiàn)Redis存儲(chǔ)復(fù)雜json格式數(shù)據(jù)并返回給前端操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Kafka Java Producer代碼實(shí)例詳解

    Kafka Java Producer代碼實(shí)例詳解

    這篇文章主要介紹了Kafka Java Producer代碼實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • IDEA下Maven的pom文件導(dǎo)入依賴出現(xiàn)Auto build completed with errors的問題

    IDEA下Maven的pom文件導(dǎo)入依賴出現(xiàn)Auto build completed with errors的問題

    這篇文章主要介紹了IDEA下Maven的pom文件導(dǎo)入依賴出現(xiàn)Auto build completed with errors,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Java內(nèi)部類持有外部類導(dǎo)致內(nèi)存泄露的原因與解決方案詳解

    Java內(nèi)部類持有外部類導(dǎo)致內(nèi)存泄露的原因與解決方案詳解

    這篇文章主要為大家詳細(xì)介紹了Java因?yàn)閮?nèi)部類持有外部類導(dǎo)致內(nèi)存泄露的原因以及其解決方案,文中的示例代碼講解詳細(xì),希望對(duì)大家有所幫助
    2022-11-11
  • 詳解MongoDB和Spring整合的實(shí)例代碼

    詳解MongoDB和Spring整合的實(shí)例代碼

    這篇文章主要介紹了詳解MongoDB和Spring整合的實(shí)例代碼,Spring提供了MongoTemplate這樣一個(gè)模板類的實(shí)現(xiàn)方法,簡(jiǎn)化了具體操作。有興趣的可以了解一下
    2017-07-07
  • Java練習(xí)之潛艇小游戲的實(shí)現(xiàn)

    Java練習(xí)之潛艇小游戲的實(shí)現(xiàn)

    這篇文章主要和大家分享一個(gè)Java小練習(xí)——利用Java編寫一個(gè)潛艇小游戲,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-03-03
  • 關(guān)于java.math.BigDecimal比較大小問題

    關(guān)于java.math.BigDecimal比較大小問題

    這篇文章主要介紹了關(guān)于java.math.BigDecimal比較大小問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • mybatis-plus使用generator實(shí)現(xiàn)逆向工程

    mybatis-plus使用generator實(shí)現(xiàn)逆向工程

    mybatis-plus-generator在3.5.0以及以后的版本使用新的方式逆向生成代碼,本文主要介紹了mybatis-plus使用generator實(shí)現(xiàn)逆向工程,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-05-05

最新評(píng)論