Mybatis返回多個結(jié)果集的實現(xiàn)示例
本文介紹一個在 Mybatis 中不常見的操作,但是可能有些朋友剛好需要用到,Mybatis 如何實現(xiàn)返回多個結(jié)果集
什么情況會返回多個結(jié)果集:
- 存儲過程
- 多個 select 語句
具體過程如下(作者實測:跟著觀戰(zhàn)就完事了):
1、首先你要在 url 連接中開啟『多結(jié)果集查詢
』allowMultiQueries=true
url: jdbc:mysql://localhost:3306/football?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true&AllowPublicKeyRetrieval=True&allowMultiQueries=true
2、Mybatis 的 mapper 層代碼:
List<List<?>> testMultiQueries();
因為有多個結(jié)果,結(jié)果集的類型是不一樣的,所以用泛型,返回類型定義為 List<List<?>>
3、xml 文件代碼:
<!-- 因為我后面用不到第一個結(jié)果集,所以隨便定義個 Map 來接收 --> <resultMap id="tempResultMap" type="java.util.Map"> </resultMap> <!-- 1、在 resultMap 指定多個結(jié)果集映射 2、BaseResultMap 是我要使用的結(jié)果集映射,沒貼出來 --> <select id="testMultiQueries" resultMap="tempResultMap,BaseResultMap"> -- 第一個 select SELECT @min_price:=MIN(hafu) as minPrice, @max_price:=MAX(hafu) as maxPrice FROM match_info; -- 第二個 select SELECT * FROM match_info WHERE hafu=@min_price OR hafu=@max_price; </select>
備注:
1、定義了 2 個 resultMap 結(jié)果集。第一個結(jié)果集tempResultMap后面用不到隨便定義一個,第二個結(jié)果集BaseResultMap映射業(yè)務(wù)類
2、定義了 2 個 select 語句。會被一起發(fā)送給 mysql 服務(wù)器,服務(wù)器執(zhí)行后會返回 2 個結(jié)果集,mybatis 框架完成 2 個結(jié)果集的映射
4、取回多結(jié)果集截圖
到此這篇關(guān)于Mybatis返回多個結(jié)果集的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)Mybatis返回多結(jié)果集內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java HTTP協(xié)議收發(fā)MQ 消息代碼實例詳解
這篇文章主要通過實例代碼為大家詳細(xì)介紹了如何在Java 環(huán)境下使用 HTTP 協(xié)議收發(fā) MQ 消息,需要的朋友可以參考下2017-04-04詳解log4j-over-slf4j與slf4j-log4j12共存stack overflow異常分析
這篇文章主要介紹了詳解log4j-over-slf4j與slf4j-log4j12共存stack overflow異常分析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07Java加載properties文件實現(xiàn)方式詳解
這篇文章主要介紹了Java加載properties文件實現(xiàn)方式詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07Java線程休眠_(dá)動力節(jié)點Java學(xué)院整理
sleep() 的作用是讓當(dāng)前線程休眠,即當(dāng)前線程會從“運行狀態(tài)”進(jìn)入到“休眠(阻塞)狀態(tài)”。下面通過實例代碼給大家介紹Java線程休眠的知識,需要的朋友參考下吧2017-05-05Struts2學(xué)習(xí)筆記(9)-Result配置全局結(jié)果集
這篇文章主要介紹Struts2中使用Result配置全局結(jié)果集的方法,希望能給大家做一個參考。2016-06-06SpringBoot整合Jasypt實現(xiàn)配置加密的步驟詳解
Jasypt是一個Java庫,提供了一種簡單的加密解密方式,可用于保護(hù)敏感數(shù)據(jù),例如密碼、API密鑰和數(shù)據(jù)庫連接信息等,本文給大家介紹了SpringBoot整合Jasypt實現(xiàn)配置加密的詳細(xì)步驟,感興趣的同學(xué)可以參考一下2023-11-11