Mybatis查詢返回Map<String,Object>類型實例詳解

這篇我們來說一下Mybatis的查詢結果返回Map類型。

首先我們在企業開發中是很少使用到Map返回類型的,很多都是直接返回一個對象實體。尤其是苞米豆出瞭MP框架之後,XML都是很少寫的。

那麼在什麼情況下需要使用Map來作為返回的結果類型呢?

案例:有一個模塊A和模塊B,A模塊的POM依賴引入瞭B模塊,A模塊可以直接使用B模塊的實體,但是B模塊使用不到A模塊的實體,如果在B模塊POM中引入A模塊的依賴,那麼在運行時會出現依賴循環錯誤,這時候就需要自己寫SQL來返回Map類型瞭,因為返回不瞭另一個實體,所以需要定義 Map集合來返回

第一種:返回值為Map<string,Object>類型,但是隻能接收一條數據,數據超過一條會報錯。

如下

第二種:List<Map<String,Object>>類型,返回的是一個集合,可以接收多條數據

第三種:Map<String,Map<String,Object>>類型,返回的是一個KV,DAO層需要添加@MapKey註解,K為註解的值(註解上的值表示數據庫某字段,字段必須保證唯一,例如主鍵或唯一索引的字段),V代表查詢出來的數據

我們首先演示一下第一種:Map<String,Object>類型

package com.ywt.springboot.mapper;
 
import java.util.Map;
 
/**
 * @author pc
 */
public interface StudentMapper {
    //查詢所有的學生
    Map<String,Object> findDataToMap(Integer id);
}

Mapper.xml

測試一下

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

 Mapper層

 Mapper.xml

 測試一下

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

Mapper層

 Mapper.xml

 測試結果

總結

到此這篇關於Mybatis查詢返回Map&lt;String,Object&gt;類型的文章就介紹到這瞭,更多相關Mybatis查詢返回Map&lt;String,Object&gt;內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: