欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mybatis如何使用Map接收返回值

 更新時(shí)間:2023年12月07日 08:49:19   作者:DegenerateAng  
這篇文章主要介紹了mybatis如何使用Map接收返回值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Mapperxml SQL文件

<select id="selectLiveActivityL" resultType="Map">
 
    SELECT IFNULL(Set_Value,0) AS Set_Value FROM baseset WHERE Base_Set_Id IN (3,4,5)
 
</select>

取出baseset 表中Base_Set_Id 為3,4,5的數(shù)據(jù)

如下:

Mapper 接口文件

List<Map<String, Object>> selectLiveActivityL();

在控制層或者實(shí)現(xiàn)層取值

List<Map<String, Object>> listMapO = service.selectLiveActivityL(); 
 
listMapO.get(0).get("Set_Value").toString();//第一個(gè)值
 
listMapO.get(1).get("Set_Value").toString();//第二個(gè)值 
 
listMapO.get(2).get("Set_Value").toString();//第三個(gè)值

前面都單列取值

類似有兩列的:

List<Map<String, Object>> listMapF = service.selectLookLiveActivityE();
 
listMapF.get(0).get("Set_Value").toString();
 
listMapF.get(0).get("Set_Value_Duplicate").toString()
 
get(0)控制第幾行;
 
get("Set_Value")控制第幾列;

返回map和返回映射到實(shí)體類的優(yōu)缺點(diǎn)

優(yōu)點(diǎn)

首先從上述代碼就直接可以看出來(lái),返回為map類型,使用Map作為接收類型時(shí),通常能夠在傳參到持久層這一過(guò)程中省去很多麻煩。

前端請(qǐng)求及參數(shù)到達(dá)Action或者Controller時(shí)通常使用map來(lái)進(jìn)行接收,使用map作為傳遞類型可以不用再將數(shù)據(jù)封裝為Bean類型再去根據(jù)實(shí)體屬性一一填充,直接通過(guò)Service和Dao以map類型將數(shù)據(jù)傳到map配置SQL文件當(dāng)中,省去很多數(shù)據(jù)轉(zhuǎn)換環(huán)節(jié)。

再執(zhí)行完SQL語(yǔ)句返回時(shí)制定map類型返回,不管是單條數(shù)據(jù)還是List都可以快速編寫并返回給前端。

這種方式在處理多表查詢時(shí)避免了編寫大量的實(shí)體類和屬性字段定義,減少了很多中間流程。

缺點(diǎn)

缺點(diǎn)也一樣明顯,沒(méi)有了實(shí)體類,自己就需要記好map中的key-value映射關(guān)系,其次其數(shù)據(jù)不能像映射到實(shí)體類中那樣,重寫getter方法。

當(dāng)另外一個(gè)同事來(lái)接手和維護(hù)時(shí),因?yàn)闆](méi)有了實(shí)體類,他只能通過(guò)查詢map調(diào)試,或者查看才能知曉。也不利于后期的維護(hù)。

總結(jié)

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

相關(guān)文章

  • springboot v2.0.3版本多數(shù)據(jù)源配置方法

    springboot v2.0.3版本多數(shù)據(jù)源配置方法

    這篇文章主要介紹了springboot v2.0.3版本多數(shù)據(jù)源配置方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2018-11-11
  • iBatis習(xí)慣用的16條SQL語(yǔ)句

    iBatis習(xí)慣用的16條SQL語(yǔ)句

    iBatis 是apache 的一個(gè)開源項(xiàng)目,一個(gè)O/R Mapping 解決方案,iBatis 最大的特點(diǎn)就是小巧,上手很快.這篇文章主要介紹了iBatis習(xí)慣用的16條SQL語(yǔ)句的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • IDEA 2020.3.X 創(chuàng)建scala環(huán)境的詳細(xì)教程

    IDEA 2020.3.X 創(chuàng)建scala環(huán)境的詳細(xì)教程

    這篇文章主要介紹了IDEA 2020.3.X 創(chuàng)建scala環(huán)境的詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • 在Java項(xiàng)目中實(shí)現(xiàn)CI/CD持續(xù)集成與持續(xù)部署

    在Java項(xiàng)目中實(shí)現(xiàn)CI/CD持續(xù)集成與持續(xù)部署

    這篇文章主要為大家介紹了在Java項(xiàng)目中實(shí)現(xiàn)CI/CD持續(xù)集成與持續(xù)部署詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • win10 64位 jdk1.8的方法教程詳解

    win10 64位 jdk1.8的方法教程詳解

    這篇文章主要介紹了win10 64位 jdk1.8的方法教程詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Java中的WeakHashMap概念原理以及簡(jiǎn)單案例

    Java中的WeakHashMap概念原理以及簡(jiǎn)單案例

    這篇文章主要介紹了Java中的WeakHashMap概念原理以及簡(jiǎn)單案例,WeakHashMap使用了軟引用結(jié)構(gòu),它的對(duì)象在垃圾回收時(shí)會(huì)被刪除,垃圾回收是優(yōu)先級(jí)非常低的線程,不能被顯示調(diào)用,當(dāng)內(nèi)存不足的時(shí)候會(huì)啟用,需要的朋友可以參考下
    2023-09-09
  • 十分鐘理解Java中的動(dòng)態(tài)代理

    十分鐘理解Java中的動(dòng)態(tài)代理

    十分鐘幫助大家理解Java中的動(dòng)態(tài)代理,什么是動(dòng)態(tài)代理?感興趣的小伙伴們可以參考一下
    2016-06-06
  • Java編程實(shí)現(xiàn)基于TCP協(xié)議的Socket聊天室示例

    Java編程實(shí)現(xiàn)基于TCP協(xié)議的Socket聊天室示例

    這篇文章主要介紹了Java編程實(shí)現(xiàn)基于TCP協(xié)議的Socket聊天室,結(jié)合實(shí)例形式詳細(xì)分析了java基于TCP協(xié)議的Socket聊天室客戶端與服務(wù)器端相關(guān)實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下
    2018-01-01
  • SpringBoot使用Redis實(shí)現(xiàn)消息隊(duì)列的方法小結(jié)

    SpringBoot使用Redis實(shí)現(xiàn)消息隊(duì)列的方法小結(jié)

    在應(yīng)用中把Redis當(dāng)成消息隊(duì)列來(lái)使用已經(jīng)屢見(jiàn)不鮮了,我想主要原因是當(dāng)代應(yīng)用十有八九都會(huì)用到 Redis,因此不用再引入其他消息隊(duì)列系統(tǒng),而且Redis提供了好幾種實(shí)現(xiàn)消息隊(duì)列的方法,用起來(lái)也簡(jiǎn)單,本文給大家介紹了SpringBoot使用Redis實(shí)現(xiàn)消息隊(duì)列的方法小結(jié)
    2024-04-04
  • vue用CryptoJS加密,java用CryptoUtil解密

    vue用CryptoJS加密,java用CryptoUtil解密

    CryptoJS是一個(gè)JavaScript庫(kù),提供了一系列密碼學(xué)函數(shù)和工具,用于加密、解密、生成摘要等任務(wù),本文vue前端使用CryptoJS加密,java后端使用CryptoUtil解密
    2024-09-09

最新評(píng)論