MyBatis的各種查詢功能結(jié)果接收類型的選擇(推薦)
一、若查詢出的數(shù)據(jù)只有一條
1.可以通過(guò)實(shí)體類對(duì)象接收
User getUserById(@Param("id") Integer id);
<select id="getUserById" resultType="User"> select * from t_user where id = #{id}; </select>
2.可以通過(guò)list集合接收
List<User> getUserById(@Param("id") Integer id);
3.可以通過(guò)map集合接收
Map<String, Object> getUserByIdToMap(@Param("id") Integer id);
<select id="getUserByIdToMap" resultType="java.util.Map"> select * from t_user where id = #{id}; </select>
結(jié)果:{password=123456, sex=男, id=3, age=23, email=12345@qq.com, username=admin}
二、若查詢出的數(shù)據(jù)有多條
1.可以通過(guò)實(shí)體類類型的list集合接收
List<User> getAllUser();
<select id="getAllUser" resultType="User"> select * from t_user; </select>
2.可以通過(guò)map類型的list集合接收
List<Map<String, Object>> getUsersByIdToMap(@Param("id") Integer id);
<select id="getUsersByIdToMap" resultType="java.util.Map"> select * from t_user where id = #{id}; </select>
@Test public void testGetUsersByIdToMap() { SqlSession sqlSession = SqlSessionUtils.getSqlSession(); SelectMapper mapper = sqlSession.getMapper(SelectMapper.class); List<Map<String, Object>> users = mapper.getUsersByIdToMap(6); users.forEach(System.out::println); // {password=789789, sex=男, id=6, age=25, email=456123@qq.com, username=李四} }
3.可以在mapper接口的方法上添加@MapKey注解
@MapKey("id") Map<String, Object> getAllUserToMap();
此時(shí)就可以將每條數(shù)據(jù)轉(zhuǎn)換的map集合作為值,以某個(gè)字段的值作為鍵,放在同一個(gè)map集合中
注意:一定不能通過(guò)實(shí)體類對(duì)象接收,此時(shí)會(huì)拋異常TooManyResultsException
MyBatis中設(shè)置了默認(rèn)的類型別名:
- java.lang.Integer-->int,integer
- int-->_int,_integer
- Map-->map
- String-->string
到此這篇關(guān)于MyBatis的各種查詢功能,結(jié)果接收類型的選擇的文章就介紹到這了,更多相關(guān)MyBatis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springBoot+webMagic實(shí)現(xiàn)網(wǎng)站爬蟲(chóng)的實(shí)例代碼
這篇文章主要介紹了springBoot+webMagic實(shí)現(xiàn)網(wǎng)站爬蟲(chóng)的實(shí)例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05如何通過(guò)javacv實(shí)現(xiàn)圖片去水?。ǜ酱a)
這篇文章主要介紹了如何通過(guò)javacv實(shí)現(xiàn)圖片去水印(附代碼),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07本地啟動(dòng)RocketMQ未映射主機(jī)名產(chǎn)生的超時(shí)問(wèn)題最新解決方案
這篇文章主要介紹了本地啟動(dòng)RocketMQ未映射主機(jī)名產(chǎn)生的超時(shí)問(wèn)題,本文給大家分享最新解決方案,感興趣的朋友跟隨小編一起看看吧2024-02-02SpringSecurity框架下實(shí)現(xiàn)CSRF跨站攻擊防御的方法
CSRF是一種網(wǎng)絡(luò)攻擊方式,也可以說(shuō)是一種安全漏洞,這種安全漏洞在web開(kāi)發(fā)中廣泛存在。這篇文章主要介紹了SpringSecurity框架下實(shí)現(xiàn)CSRF跨站攻擊防御,需要的朋友可以參考下2019-12-12SpringBoot中支持Https協(xié)議的實(shí)現(xiàn)
本文主要介紹了SpringBoot中支持Https協(xié)議的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01解決jackson反序列化失敗InvalidFormatException:Can not dese
這篇文章主要介紹了解決jackson反序列化失敗InvalidFormatException:Can not deserialize value of type java.util.Date問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12