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<String,Object>類型的文章就介紹到這瞭,更多相關Mybatis查詢返回Map<String,Object>內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- mybatis返回map結果集@MapKey使用的場景分析
- mybatis Mapper的xml文件中resultType值的使用說明
- Mybatis示例講解註解開發中的單表操作
- mybatis實現獲取入參是List和Map的取值
- mybatis 運行時加載自定義mapper文件方式