Mybatis查詢(xún)返回Map<String,Object>類(lèi)型實(shí)例詳解
這篇我們來(lái)說(shuō)一下Mybatis的查詢(xún)結(jié)果返回Map類(lèi)型。
首先我們?cè)谄髽I(yè)開(kāi)發(fā)中是很少使用到Map返回類(lèi)型的,很多都是直接返回一個(gè)對(duì)象實(shí)體。尤其是苞米豆出了MP框架之后,XML都是很少寫(xiě)的。
那么在什么情況下需要使用Map來(lái)作為返回的結(jié)果類(lèi)型呢?
案例:有一個(gè)模塊A和模塊B,A模塊的POM依賴(lài)引入了B模塊,A模塊可以直接使用B模塊的實(shí)體,但是B模塊使用不到A模塊的實(shí)體,如果在B模塊POM中引入A模塊的依賴(lài),那么在運(yùn)行時(shí)會(huì)出現(xiàn)依賴(lài)循環(huán)錯(cuò)誤,這時(shí)候就需要自己寫(xiě)SQL來(lái)返回Map類(lèi)型了,因?yàn)榉祷夭涣肆硪粋€(gè)實(shí)體,所以需要定義 Map集合來(lái)返回
第一種:返回值為Map<string,Object>類(lèi)型,但是只能接收一條數(shù)據(jù),數(shù)據(jù)超過(guò)一條會(huì)報(bào)錯(cuò)。
如下

第二種:List<Map<String,Object>>類(lèi)型,返回的是一個(gè)集合,可以接收多條數(shù)據(jù)
第三種:Map<String,Map<String,Object>>類(lèi)型,返回的是一個(gè)KV,DAO層需要添加@MapKey注解,K為注解的值(注解上的值表示數(shù)據(jù)庫(kù)某字段,字段必須保證唯一,例如主鍵或唯一索引的字段),V代表查詢(xún)出來(lái)的數(shù)據(jù)
我們首先演示一下第一種:Map<String,Object>類(lèi)型
package com.ywt.springboot.mapper;
import java.util.Map;
/**
* @author pc
*/
public interface StudentMapper {
//查詢(xún)所有的學(xué)生
Map<String,Object> findDataToMap(Integer id);
}Mapper.xml

測(cè)試一下

第二種List<Map<String,Object>>
Mapper層

Mapper.xml

測(cè)試一下

第三種:Map<String, Map<String,Object> >
Mapper層

Mapper.xml

測(cè)試結(jié)果

總結(jié)
到此這篇關(guān)于Mybatis查詢(xún)返回Map<String,Object>類(lèi)型的文章就介紹到這了,更多相關(guān)Mybatis查詢(xún)返回Map<String,Object>內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot?SpringSecurity?JWT實(shí)現(xiàn)系統(tǒng)安全策略詳解
Spring?Security是Spring的一個(gè)核心項(xiàng)目,它是一個(gè)功能強(qiáng)大且高度可定制的認(rèn)證和訪(fǎng)問(wèn)控制框架。它提供了認(rèn)證和授權(quán)功能以及抵御常見(jiàn)的攻擊,它已經(jīng)成為保護(hù)基于spring的應(yīng)用程序的事實(shí)標(biāo)準(zhǔn)2022-11-11
fastJson泛型如何轉(zhuǎn)換的實(shí)現(xiàn)
這篇文章主要介紹了fastJson泛型如何轉(zhuǎn)換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
springMVC 用戶(hù)登錄權(quán)限驗(yàn)證實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了springMVC 用戶(hù)登錄權(quán)限驗(yàn)證實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
Java IO學(xué)習(xí)之緩沖輸入流(BufferedInputStream)
這篇文章主要介紹了Java IO學(xué)習(xí)之緩沖輸入流(BufferedInputStream)的相關(guān)資料,需要的朋友可以參考下2017-02-02
Spring?MVC策略模式之MethodArgumentResolver源碼解析
這篇文章主要為大家介紹了Spring?MVC策略模式之MethodArgumentResolver源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
springmvc+Hibernate+JPA(混合事務(wù))解讀
在Spring項(xiàng)目中,Spring Data JPA作為一種持久層框架,因其簡(jiǎn)化數(shù)據(jù)庫(kù)操作而受到青睞,但在將其引入使用Hibernate的舊項(xiàng)目時(shí),可能會(huì)遇到事務(wù)處理問(wèn)題,解決方案包括配置兩種事務(wù)管理器:Hibernate事務(wù)管理器和JPA事務(wù)管理器2024-09-09
java Collection 之List學(xué)習(xí)介紹
本篇文章小編為大家介紹,java Collection 之List學(xué)習(xí)介紹。需要的朋友參考下2013-04-04

