色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:89日期:2023-10-21 15:26:38

一、返回一般數(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 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 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 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 resultType='map'> select * from t_employee where id = #{id} </select>

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

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

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 resultType='employee'> select * from t_employee </select>

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

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

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ě)法

如下所示:

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

查詢出的結(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è)參考,也希望大家多多支持好吧啦網(wǎng)。

相關(guān)文章:
主站蜘蛛池模板: 九九99| 免费观看性欧美大片无片 | 国产免费一级精品视频 | 免费高清欧美一区二区视频 | 青青久草 | 欧美一级做一a做片性视频 欧美一级做一级爱a做片性 | 久久亚洲成人 | 久久综合久久久 | 国产精品久久久久久久久久久久 | 亚洲精品中文字幕久久久久久 | 欧美一级视频在线观看 | 国产91久久久久久久免费 | 一级色网站 | 日韩亚洲一区中文字幕在线 | 在线天堂视频 | 热re91久久精品国产91热 | 精品视频在线观看一区二区三区 | 天天se天天cao综合网蜜芽 | 一级a美女毛片 | 91精品国产综合久久久久 | 日韩精品免费视频 | 国内精品久久久久影院亚洲 | 国产制服 国产制服一区二区 | 在线视频一区二区三区三区不卡 | 97视频在线免费观看 | 国产精品blacked在线 | 亚洲天堂2015 | 久久国产精品视频 | 美女张开腿让人桶 | 精品久久久久中文字幕日本 | 99久久久久国产 | 特级深夜a级毛片免费观看 特级生活片 | 黄视频免费在线 | 在线另类 | 久久久久久久久久免观看 | 91在线精品亚洲一区二区 | 日本一区二区免费在线观看 | 国产一区二区三区在线免费 | 亚洲天堂成人在线观看 | 中午字幕在线观看 | 久久a热6|