Mybatis把返回結(jié)果封裝成map類(lèi)型的實(shí)現(xiàn)
一、Mybatis把返回結(jié)果封裝成map類(lèi)型,表的字段名對(duì)應(yīng)map中的key,字段所屬的值對(duì)應(yīng)map中的value
例如接口為:
public interface UserDao {
public Map<String, Object> getMapUser(int id);
}
接口在mybatis中的實(shí)現(xiàn)為:
<!--注意:返回類(lèi)型為Map類(lèi)型-->
<mapper namespace="com.lzj.mybatis.dao.UserDao">
<select id="getMapUser" resultType="Map">
select * from users where id=#{id}
</select>
</mapper>
執(zhí)行測(cè)試方法:
public static void testGetMapUser(){
String resource = "conf.xml";
InputStream in = MybaitsTest.class.getClassLoader().getResourceAsStream(resource);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
SqlSession session = factory.openSession();
UserDao userDao = session.getMapper(UserDao.class);
Map<String, Object> userMap = userDao.getMapUser(1);
System.out.println(userMap);
}
輸出結(jié)果:
{name=Bob, id=1, age=15}
可見(jiàn)map中的鍵對(duì)應(yīng)表users中的字段名,map中value對(duì)應(yīng)查出的數(shù)據(jù)。
二、Mybatis把返回結(jié)果封裝成map類(lèi)型,map的key對(duì)應(yīng)指定的字段名字所屬值,map的value對(duì)應(yīng)查出數(shù)據(jù)封裝成的bean
例如接口為:
public interface UserDao {
/*用MapKey注解指定字段name作為map中的key*/
@MapKey("name")
public Map<String, User> getUserMap(String name);
}
接口的mybatis實(shí)現(xiàn)為:
<!--注意:resultType為User類(lèi)型-->
<mapper namespace="com.lzj.mybatis.dao.UserDao">
<select id="getUserMap" resultType="com.lzj.mybaits.bean.User">
select * from users where name=#{name}
</select>
</mapper>
執(zhí)行測(cè)試方法:
public static void testGetUserMap(){
String resource = "conf.xml";
InputStream in = MybaitsTest.class.getClassLoader().getResourceAsStream(resource);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
SqlSession session = factory.openSession();
UserDao userDao = session.getMapper(UserDao.class);
Map<String, User> userMap = userDao.getUserMap("Bob");
System.out.println(userMap);
}
輸出結(jié)果:
{Bob=User [id=1, name=Bob, age=15.0]}
可見(jiàn)返回的map類(lèi)型中,key為name字段所屬的值”Bob”,value為封裝的User類(lèi)型。
到此這篇關(guān)于Mybatis把返回結(jié)果封裝成map類(lèi)型的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Mybatis返回結(jié)果封裝成map類(lèi)型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JAVA遞歸生成樹(shù)形菜單的實(shí)現(xiàn)過(guò)程
這篇文章主要介紹了JAVA遞歸生成樹(shù)形菜單,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01
MyBatis-Plus雪花算法實(shí)現(xiàn)源碼解讀
雪花算法是一種用于生成唯一標(biāo)識(shí)符(ID)的分布式算法,雪花算法的設(shè)計(jì)目標(biāo)是在分布式系統(tǒng)中生成全局唯一的ID,同時(shí)保證ID的有序性和趨勢(shì)遞增,這篇文章主要介紹了MyBatis-Plus雪花算法實(shí)現(xiàn)源碼解析,需要的朋友可以參考下2023-12-12
Java的Hibernate框架中的雙向主鍵關(guān)聯(lián)與雙向外鍵關(guān)聯(lián)
Hibernate想要實(shí)現(xiàn)雙向的關(guān)聯(lián)就必須在映射文件的兩端同時(shí)配置<one-to-one>,另外還要在主映射的一端采用foreign外鍵關(guān)聯(lián)屬性,下面我們就一起來(lái)看一下Java的Hibernate框架中的雙向主鍵關(guān)聯(lián)與雙向外鍵關(guān)聯(lián)方法:2016-06-06
使用JavaBean根據(jù)指定條件設(shè)置屬性值默認(rèn)值方式
這篇文章主要介紹了使用JavaBean根據(jù)指定條件設(shè)置屬性值默認(rèn)值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
Springboot文件上傳功能簡(jiǎn)單測(cè)試
這篇文章主要介紹了Springboot文件上傳功能簡(jiǎn)單測(cè)試,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
Java?超詳細(xì)講解數(shù)據(jù)結(jié)構(gòu)中的堆的應(yīng)用
堆首先是一個(gè)完全二叉樹(shù),堆分為小根堆和大根堆。小根堆,所有結(jié)點(diǎn)的左右子節(jié)點(diǎn)都不小于根節(jié)點(diǎn);大根堆,所有結(jié)點(diǎn)的左右子節(jié)點(diǎn)都不大于根節(jié)點(diǎn)。優(yōu)先級(jí)隊(duì)列(priorityQueue)底層就是一個(gè)小根堆2022-04-04

