最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis報錯mapkey is required問題及解決

 更新時間:2024年06月15日 11:57:08   作者:時間是一種解藥  
這篇文章主要介紹了Mybatis報錯mapkey is required問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Mybatis報錯mapkey is required

問題背景

因為使用了mybatisX插件,導(dǎo)致檢查報錯mapkey is required

解決方案

1 關(guān)閉mybatis的檢查,ctrl+alt+s打開setting,Editor→inspections→mybatis

莫名出來的錯誤,之前還是好好的

Mybatis注解@MapKey的使用

MyBatis查詢一些記錄,數(shù)據(jù)涉及到兩個表里的數(shù)據(jù),需要連表查詢,但我MyBatis的返回結(jié)果不想創(chuàng)建新的DO對象,因此使用@MapKey注解返回一個Map集合。

含義

@MapKey注解用于mapper.xml文件中,一般用于查詢多條記錄中各個字段的結(jié)果,存儲在Map中。

Map結(jié)構(gòu)的示例

如下:

Map<Long, Map<String, String>>。范型類型可以修改。

  • Map的key:一般存儲每條記錄的主鍵,也可以用其他值表示,主要取決于Dao層@MapKey注解后面的字段(如@MapKey("id"));
  • Map的value:也是一個Map,表示查詢出這條記錄的每個字段的字段名稱和字段值。

1. mapper.xml文件

<select id="getInfoById" resultType="java.util.Map">
	select
	ext.id as id,
	info.produce_area as area,
	ext.attribute_value as companyName
	from product_info info
	left join product_ext ext on info.id=ext.id
	where info.id=#{id} and ext.attribute_name=#{name}
</select>

2. dao

@MapKey("id")
Map<Long,Map<String,String>> getInfoById(@Param("id") Long id, @Param("name") String name);

3. manager

// 查詢,返回結(jié)果:{1={area:上海,companyName=西西公司}}
// 如果是多條記錄,返回結(jié)果如:{1={area:上海,companyName:西西公司},2={area:南京,compantyName:猴猴公司}}
Map<Long, Map<String, String>> map = productDao.getInfoById(id, "公司名稱"); 
if(map==null || map.isEmpty() || !map.containsKey(id)){
    return null;
}
 
// 獲取結(jié)果
String area = produceInfoMap.get(id).get("area");
String companyName = produceInfoMap.get(productTracInfoId).get("companyName");

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • rocketmq如何修改存儲路徑

    rocketmq如何修改存儲路徑

    這篇文章主要介紹了rocketmq如何修改存儲路徑的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 將Swagger2文檔導(dǎo)出為HTML或markdown等格式離線閱讀解析

    將Swagger2文檔導(dǎo)出為HTML或markdown等格式離線閱讀解析

    這篇文章主要介紹了將Swagger2文檔導(dǎo)出為HTML或markdown等格式離線閱讀,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • java后臺批量下載文件并壓縮成zip下載的方法

    java后臺批量下載文件并壓縮成zip下載的方法

    這篇文章主要為大家詳細(xì)介紹了java后臺批量下載文件并壓縮成zip下載的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 簡單了解java ibatis #及$的區(qū)別和用法

    簡單了解java ibatis #及$的區(qū)別和用法

    這篇文章主要介紹了簡單了解java ibatis #及$的區(qū)別和用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • SpringBoot數(shù)據(jù)層測試事務(wù)回滾的實現(xiàn)流程

    SpringBoot數(shù)據(jù)層測試事務(wù)回滾的實現(xiàn)流程

    這篇文章主要介紹了SpringBoot數(shù)據(jù)層測試事務(wù)回滾的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-10-10
  • java計算兩點間的距離方法總結(jié)

    java計算兩點間的距離方法總結(jié)

    小編給大家總結(jié)了在java中計算兩點之家距離的方法以及相關(guān)實例代碼分享,有需要的讀者參考下。
    2018-02-02
  • Java數(shù)組(Array)最全匯總(中篇)

    Java數(shù)組(Array)最全匯總(中篇)

    這篇文章主要介紹了Java數(shù)組(Array)最全匯總(中篇),本文章內(nèi)容詳細(xì),通過案例可以更好的理解數(shù)組的相關(guān)知識,本模塊分為了三部分,本次為中篇,需要的朋友可以參考下
    2023-01-01
  • IntelliJ?IDEA?2022.2.3最新激活圖文教程(親測有用永久激活)

    IntelliJ?IDEA?2022.2.3最新激活圖文教程(親測有用永久激活)

    今天給大家分享一個?IDEA?2022.2.3?的激活破解教程,全文通過文字+圖片的方式講解,手把手教你如何激活破解?IDEA,?只需要幾分鐘即可搞定,對idea2022.2.3激活碼感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • Java中Dom4j的配置與使用示例詳解

    Java中Dom4j的配置與使用示例詳解

    Dom4j是一個強大的Java庫,用于處理XML數(shù)據(jù),結(jié)合了DOM、SAX、JDOM的優(yōu)點,它可以解析、生成、修改和序列化XML文檔,適用于數(shù)據(jù)交換、配置文件管理、日志記錄、數(shù)據(jù)持久化和Web服務(wù)等場景,Dom4j提供了簡單易用的API,便于開發(fā)者進行高效的XML操作
    2024-10-10
  • SpringCloud?Nacos服務(wù)分級存儲模型詳解

    SpringCloud?Nacos服務(wù)分級存儲模型詳解

    Nacos服務(wù)分級存儲模型是Nacos存儲服務(wù)注冊信息和配置信息的核心模型之一,本文將對?Nacos?服務(wù)分級存儲模型進行深入解析,感興趣的朋友一起看看吧
    2024-02-02

最新評論

福鼎市| 工布江达县| 湟源县| 黄大仙区| 马鞍山市| 丽水市| 嘉峪关市| 庐江县| 桂阳县| 民勤县| 凤阳县| 普安县| 阿合奇县| 长海县| 南城县| 道孚县| 泽普县| 永善县| 拉萨市| 积石山| 和静县| 乐山市| 杂多县| 灵宝市| 黄山市| 佛坪县| 巴东县| 广东省| 静安区| 建始县| 琼中| 海盐县| 泊头市| 金沙县| 泉州市| 墨竹工卡县| 扎囊县| 兰州市| 永平县| 五原县| 扎鲁特旗|