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