MyBatis的各種查詢功能結(jié)果接收類型的選擇(推薦)
一、若查詢出的數(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>結(jié)果:{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ù)轉(zhuǎn)換的map集合作為值,以某個字段的值作為鍵,放在同一個map集合中

注意:一定不能通過實體類對象接收,此時會拋異常TooManyResultsException
MyBatis中設置了默認的類型別名:
- java.lang.Integer-->int,integer
- int-->_int,_integer
- Map-->map
- String-->string
到此這篇關(guān)于MyBatis的各種查詢功能,結(jié)果接收類型的選擇的文章就介紹到這了,更多相關(guān)MyBatis內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java編程中利用InetAddress類確定特殊IP地址的方法
這篇文章主要介紹了Java編程中利用InetAddress類確定特殊IP地址的方法,InetAddress類是Java網(wǎng)絡編程中一個相當實用的類,需要的朋友可以參考下2015-11-11
Spring Boot整合QueryDSL的實現(xiàn)示例
這篇文章主要介紹了Spring Boot整合QueryDSL的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
Mybatis-plus通過添加攔截器實現(xiàn)簡單數(shù)據(jù)權(quán)限
系統(tǒng)需要根據(jù)用戶所屬的公司,來做一下數(shù)據(jù)權(quán)限控制,具體一點,就是通過表中的company_id進行權(quán)限控制,項目使用的是mybatis-plus,所以通過添加攔截器的方式,修改查詢sql,實現(xiàn)數(shù)據(jù)權(quán)限,本文就通過代碼給大家詳細的講解一下,需要的朋友可以參考下2023-08-08

