Mybatis把返回結(jié)果封裝成map類型的實(shí)現(xiàn)
一、Mybatis把返回結(jié)果封裝成map類型,表的字段名對(duì)應(yīng)map中的key,字段所屬的值對(duì)應(yīng)map中的value
例如接口為:
public interface UserDao { public Map<String, Object> getMapUser(int id); }
接口在mybatis中的實(shí)現(xiàn)為:
<!--注意:返回類型為Map類型--> <mapper namespace="com.lzj.mybatis.dao.UserDao"> <select id="getMapUser" resultType="Map"> select * from users where id=#{id} </select> </mapper>
執(zhí)行測試方法:
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}
可見map中的鍵對(duì)應(yīng)表users中的字段名,map中value對(duì)應(yīng)查出的數(shù)據(jù)。
二、Mybatis把返回結(jié)果封裝成map類型,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類型--> <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í)行測試方法:
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]}
可見返回的map類型中,key為name字段所屬的值”Bob”,value為封裝的User類型。
到此這篇關(guān)于Mybatis把返回結(jié)果封裝成map類型的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Mybatis返回結(jié)果封裝成map類型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java實(shí)現(xiàn)163郵箱發(fā)送郵件到qq郵箱成功案例
這篇文章主要為大家分享了java實(shí)現(xiàn)163郵箱發(fā)送郵件到qq郵箱成功案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05Linux(centos7)安裝jdk1.8的詳細(xì)步驟
Linux的使用相信大家都要用到j(luò)ava吧,在使用java前我們得先安裝jdk以及配置環(huán)境變量等工作,下面這篇文章主要給大家介紹了關(guān)于Linux(centos7)安裝jdk1.8的詳細(xì)步驟,需要的朋友可以參考下2023-10-10SpringBoot使用注解進(jìn)行分頁的實(shí)現(xiàn)示例
分頁使用可以說非常普遍了,有時(shí)候會(huì)需要非常靈活的方式去開啟或關(guān)閉分頁,嘗試使用一下注解的方式來進(jìn)行分頁,本文主要介紹了SpringBoot使用注解進(jìn)行分頁的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03java使用spring實(shí)現(xiàn)發(fā)送mail的方法
這篇文章主要介紹了java使用spring實(shí)現(xiàn)發(fā)送mail的方法,涉及java基于spring框架發(fā)送郵件的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10java中構(gòu)造器內(nèi)部調(diào)用構(gòu)造器實(shí)例詳解
在本篇文章里小編給大家分享的是關(guān)于java中構(gòu)造器內(nèi)部調(diào)用構(gòu)造器實(shí)例內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2020-05-05IntelliJ Idea 2017注冊(cè)碼免費(fèi)激活方法
IDEA 全稱 IntelliJ IDEA,是Java語言開發(fā)的集成環(huán)境,IntelliJ在業(yè)界被公認(rèn)為最好的java開發(fā)工具之一。下面給大家介紹IntelliJ Idea 2017注冊(cè)碼免費(fèi)激活方法,需要的朋友參考下2018-01-01SpringBoot中實(shí)現(xiàn)登錄攔截器的代碼實(shí)例
這篇文章主要介紹了SpringBoot中實(shí)現(xiàn)登錄攔截器的代碼實(shí)例,對(duì)于管理系統(tǒng)或其他需要用戶登錄的系統(tǒng),登錄驗(yàn)證都是必不可少的環(huán)節(jié),在SpringBoot開發(fā)的項(xiàng)目中,通過實(shí)現(xiàn)攔截器來實(shí)現(xiàn)用戶登錄攔截并驗(yàn)證,需要的朋友可以參考下2023-10-10