mybatisPlus返回Map類型的集合
更新時(shí)間:2023年03月17日 10:07:35 作者:林卓淇
本文主要介紹了mybatisPlus返回Map類型的集合,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
1、自定義實(shí)現(xiàn)該類
package com.linmain.dict.handle; import org.apache.ibatis.session.ResultContext; import org.apache.ibatis.session.ResultHandler; import java.util.HashMap; import java.util.Map; /** ?* @Author linzhuoqi ?* @Date 2023/3/9 ?* @Eamil 1580752420@qq.com ?* @Version ?* @Description ?新建一個(gè)mappedResults,每次感應(yīng)到數(shù)據(jù)進(jìn)來,處理下然后塞進(jìn)去。 ?*/ @SuppressWarnings("all") public class MapResultHandle<K, V> implements ResultHandler<Map<K, V>> { ? ? private final Map<K,V> mappedResults = new HashMap<>(); ? ?? ? ? @Override ? ? public void handleResult(ResultContext<? extends Map<K, V>> resultContext) { ? ? ? ? Map map = (Map) resultContext.getResultObject(); ? ? ? ? //key和value是xml中映射的 ? ? ? ? mappedResults.put((K)map.get("key"), (V)map.get("value")); ? ? } ? ? public Map<K, V> getMappedResults() { ? ? ? ? return mappedResults; ? ? } }
2、在抽象dao層書寫返回map集合類型的方法
Map<String,String> pageByTypeId(Serializable typeId);
3、在XXXDao.xml文件中書寫sql語句和resultMap類型
?<!-- result類型 --> ?<resultMap id="mapResult" type="java.util.HashMap"> ? ? ?<result property="key" column="data_value"/> ? ? ?<result property="value" column="data_name"/> ?</resultMap> ?<!-- 上述方法的sql語句 --> ?<select id="pageByTypeId" resultMap="mapResult"> ? ? ?select data_name, data_value ? ? ?from dict_data ? ? ?where dict_id = #{typeId} ? ? ? ?and is_delete = '0'; ?</select>
4、如何使用
?@Override ?public Map<String,String> getAllByTypeId(Serializable typeId) { ? ? ?//獲取一個(gè)sqlsession對(duì)象,true:自動(dòng)提交 ? ? ?SqlSession sqlSession = sqlSessionFactory.openSession(true); ? ? ?//創(chuàng)建一個(gè)結(jié)果處理器 ? ? ?MapResultHandle<String, String> mapResultHandle = new MapResultHandle<>(); ? ? ?//進(jìn)行數(shù)據(jù)查詢和結(jié)果封裝 ? ? ?sqlSession.select("com.linmain.dict.dao.DictDataDao.pageByTypeId", typeId, mapResultHandle); ? ? ?Map<String, String> mappedResults = mapResultHandle.getMappedResults(); ? ? ?return mappedResults; ? ? }
到此這篇關(guān)于mybatisPlus返回Map類型的集合的文章就介紹到這了,更多相關(guān)mybatisPlus返回Map類型的集合內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java線程編程中Thread類的基礎(chǔ)學(xué)習(xí)教程
這篇文章主要介紹了Java線程編程中Thread類的基礎(chǔ)學(xué)習(xí)教程,Thread類包含諸多操作線程的方法,非常重要,需要的朋友可以參考下2015-12-12springboot+mybatis配置控制臺(tái)打印sql日志的方法
這篇文章主要介紹了springboot+mybatis配置控制臺(tái)打印sql日志的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Java實(shí)現(xiàn)駝峰與下劃線互轉(zhuǎn)的方法
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)駝峰與下劃線互轉(zhuǎn)的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04Spring事務(wù)管理下synchronized鎖失效問題的解決方法
這篇文章主要給大家介紹了關(guān)于Spring事務(wù)管理下synchronized鎖失效問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-03-03