Mybatis查找返回Map,List集合類型的數(shù)據(jù)方式
Mybatis查找返回Map,List集合類型的數(shù)據(jù)
一、查找返回Bean對(duì)象的List集合
基本與返回Bean對(duì)象沒什么區(qū)別,resultType依然為Bean對(duì)象的全類名,只是接口中的方法類型要進(jìn)行修改
public List<Employee> getEmpListByEmail(String email);
二、查詢返回Bean對(duì)象的Map集合
同樣,resultType依然為Bean對(duì)象的全類名,只是接口中的方法類型要進(jìn)行修改,添加注解。
@MapKey("Bean對(duì)象屬性名"):指定Map的鍵為Bean對(duì)象的哪個(gè)屬性,一般設(shè)置為主鍵,因?yàn)镸ap不能存重復(fù)的鍵。
@MapKey("id") public Map<Integer,Employee> getEmpMapByEmail(String email);
三、查詢返回單條紀(jì)錄的Map集合
即當(dāng)前記錄以鍵為列名,值為列屬性存入map(查詢到的記錄一定要只有一條,否則報(bào)錯(cuò))
注意,resultType需要設(shè)置為map,接口中方法類型需要修改,Map的鍵默認(rèn)為列名。
public Map<String, Object> getEmpByEmail(String email);
mybatis 查詢返回List集合、map集合、List<Map>集合
返回map類型
1. xml中
<select id="selectUser" resultType="java.util.HashMap"> </select>
2.Dao接口中
Map<String,Object> selectUser();
這種方式SQL只能返回一行記錄或者沒有返回,如果返回多行記錄,則程序報(bào)錯(cuò)。
返回List<String>類型
3. xml中
<select id="selectUser" resultType="java.lang.String"> </select>
2.Dao接口中
List<String> selectUser();
這種方式可以返回多行記錄,但是每行記錄只有指定的一列數(shù)據(jù)。
返回List<Map>類型
1.xml中
<select id="selectUser" resultType="java.util.HashMap"> </select>
2.Dao接口中
List<Map<String,Object>> selectUser ();
這種方式可以返回指定的多行多列的記錄。
返回List<指定對(duì)象>類型
xml中:
<resultMap id="baseResult" type="com.XXX.BscntrUnitInfoResult(對(duì)應(yīng)對(duì)象)"> <result column="unit_id" property="unitId" jdbcType="INTEGER" (字段映射關(guān)系)/> <result column="unit_name" property="unitName" jdbcType="VARCHAR" /> <result column="unit_type" property="unitType" jdbcType="INTEGER" /> <result column="super_unit_id" property="superUnitId" jdbcType="INTEGER" /> <result column="gis_start_x" property="gisStartX" jdbcType="FLOAT" /> <result column="ext_top" property="extTop" jdbcType="DOUBLE" /> </resultMap> <select id="getBscntrUnitInfoListByName" resultMap="baseResult"> </select>
Dao接口中:
public List<BscntrUnitInfoResult> getBscntrUnitInfoListByName();
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring實(shí)現(xiàn)跨域的幾種方式小結(jié)
這篇文章主要給大家總結(jié)了幾種Spring實(shí)現(xiàn)跨域的方式,文中通過代碼示例介紹的非常詳細(xì),對(duì)我們的學(xué)習(xí)活工作有一定的幫助,需要的朋友可以參考下2023-07-07Jmeter參數(shù)化獲取序列數(shù)據(jù)實(shí)現(xiàn)過程
這篇文章主要介紹了Jmeter參數(shù)化獲取序列數(shù)據(jù)實(shí)現(xiàn)過程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07Java web項(xiàng)目啟動(dòng)Tomcat報(bào)錯(cuò)解決方案
這篇文章主要介紹了Java web項(xiàng)目啟動(dòng)Tomcat報(bào)錯(cuò)解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07Spring Boot中整合Spring Security并自定義驗(yàn)證代碼實(shí)例
本篇文章主要介紹了Spring Boot中整合Spring Security并自定義驗(yàn)證代碼實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04使用Mybatis-Plus實(shí)現(xiàn)對(duì)象屬性自動(dòng)填充功能
這篇文章主要介紹了如何使用Mybatis-Plus實(shí)現(xiàn)對(duì)象屬性自動(dòng)填充功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,感興趣的朋友們下面隨著小編來一起來學(xué)習(xí)吧2024-01-01springboot數(shù)據(jù)庫(kù)密碼加密的配置方法
這篇文章主要給大家介紹了關(guān)于springboot數(shù)據(jù)庫(kù)密碼加密的配置方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04淺談Java虛擬機(jī)對(duì)內(nèi)部鎖的四種優(yōu)化方式
這篇文章主要介紹了淺談Java虛擬機(jī)對(duì)內(nèi)部鎖的四種優(yōu)化方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10