MyBatis的各種查詢(xún)功能結(jié)果接收類(lèi)型的選擇(推薦)
一、若查詢(xún)出的數(shù)據(jù)只有一條
1.可以通過(guò)實(shí)體類(lèi)對(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}
二、若查詢(xún)出的數(shù)據(jù)有多條
1.可以通過(guò)實(shí)體類(lèi)類(lèi)型的list集合接收
List<User> getAllUser();
<select id="getAllUser" resultType="User">
select *
from t_user;
</select>2.可以通過(guò)map類(lèi)型的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í)體類(lèi)對(duì)象接收,此時(shí)會(huì)拋異常TooManyResultsException
MyBatis中設(shè)置了默認(rèn)的類(lèi)型別名:
- java.lang.Integer-->int,integer
- int-->_int,_integer
- Map-->map
- String-->string
到此這篇關(guān)于MyBatis的各種查詢(xún)功能,結(jié)果接收類(lèi)型的選擇的文章就介紹到這了,更多相關(guān)MyBatis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Mybatis-plus如何查詢(xún)返回對(duì)象內(nèi)有List<String>屬性
- mybatis collection關(guān)聯(lián)查詢(xún)多個(gè)參數(shù)方式
- MyBatis-Flex實(shí)現(xiàn)分頁(yè)查詢(xún)的示例代碼
- MyBatis-Plus自定義SQL和復(fù)雜查詢(xún)的實(shí)現(xiàn)
- 使用MyBatis-Plus實(shí)現(xiàn)聯(lián)表查詢(xún)分頁(yè)的示例代碼
- mybatis模糊查詢(xún)like語(yǔ)句該如何寫(xiě)
- Mybatis-Plus中的查詢(xún)指定字段
相關(guān)文章
Java基礎(chǔ)鞏固系列包裝類(lèi)代碼實(shí)例
這篇文章主要介紹了Java包裝類(lèi),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Java編程中利用InetAddress類(lèi)確定特殊IP地址的方法
這篇文章主要介紹了Java編程中利用InetAddress類(lèi)確定特殊IP地址的方法,InetAddress類(lèi)是Java網(wǎng)絡(luò)編程中一個(gè)相當(dāng)實(shí)用的類(lèi),需要的朋友可以參考下2015-11-11
Java實(shí)現(xiàn)銀行賬戶(hù)管理子系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)銀行賬戶(hù)管理子系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
Spring Boot整合QueryDSL的實(shí)現(xiàn)示例
這篇文章主要介紹了Spring Boot整合QueryDSL的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Mybatis-plus通過(guò)添加攔截器實(shí)現(xiàn)簡(jiǎn)單數(shù)據(jù)權(quán)限
系統(tǒng)需要根據(jù)用戶(hù)所屬的公司,來(lái)做一下數(shù)據(jù)權(quán)限控制,具體一點(diǎn),就是通過(guò)表中的company_id進(jìn)行權(quán)限控制,項(xiàng)目使用的是mybatis-plus,所以通過(guò)添加攔截器的方式,修改查詢(xún)sql,實(shí)現(xiàn)數(shù)據(jù)權(quán)限,本文就通過(guò)代碼給大家詳細(xì)的講解一下,需要的朋友可以參考下2023-08-08

