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

MyBatis幾種不同類型傳參的方式總結(jié)

 更新時(shí)間:2022年12月22日 14:34:24   作者:m0_37837382  
這篇文章主要介紹了MyBatis幾種不同類型傳參的方式總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

MyBatis幾種不同類型傳參方式

在Web開發(fā)過(guò)程中,我們根據(jù)業(yè)務(wù)需求將不同類型參數(shù)從后臺(tái)傳入到MyBatis的各個(gè)不同的mapper命名空間中,包括有string類型,map類型,list集合類型,或者是直接傳入一個(gè)對(duì)象等。

1.String類型

1.1對(duì)于string類型,我們一般傳 在sql中寫明parameterType="string" ,例:

則在獲取參數(shù)時(shí),如果是要進(jìn)行非null的判斷,則不可在if后直接那變量名進(jìn)行判空,因?yàn)閙ybatis會(huì)默認(rèn)變量名為_parameter,否則會(huì)報(bào)no getter/setter錯(cuò)誤。正確的寫法如下:

上面情況是針對(duì)于string類型參數(shù)直接傳入,如果不想在判斷時(shí)使用,mybatis默認(rèn)的變量名,則需要在dao層后臺(tái)傳入時(shí)加上@Param

加上此注解,則在if判斷時(shí),可以直接用變量名。

1.2 對(duì)于多個(gè)String類型的傳入,則無(wú)法使用Mybatis默認(rèn)的_parameterType。有兩種方式,第一是同上在dao層使用@Param注解:

在mybatis中可以直接將此作為變量名判斷和使用

第二種方式是使用位置索引的方式來(lái)獲取變量:

2.對(duì)于傳入Map參數(shù)類型

則需要 寫明 parameterType="map"

則可以在mybatis的sql語(yǔ)句中,直接取key作為傳入?yún)?shù)的變量名,value即為對(duì)應(yīng)的變量值,一般要傳入多個(gè)string類型的參數(shù)時(shí),可以放在一個(gè)map中傳入mybatis。

3.傳入的參數(shù)類型為list

若傳入的是一個(gè)list<String>,則先進(jìn)行判斷是否為空,然后進(jìn)行遍歷該數(shù)組

若傳入的是list<Map>,將其作為select語(yǔ)句的where條件時(shí),進(jìn)行遍歷

4.傳入對(duì)象

傳入對(duì)象作為參數(shù),首先是要定義一個(gè)Pojo類。

將該類的屬性,都加上get/set方法,然后將要傳遞的參數(shù)進(jìn)行set賦值后進(jìn)行傳入,在xml的sql語(yǔ)句中可以直接取對(duì)象的屬性名稱作為參數(shù)名:如下所示是一個(gè)User類的部分代碼:

從而完成了User的更新操作

總結(jié)

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

相關(guān)文章

  • SpringBoot2.x中management.security.enabled=false無(wú)效的解決

    SpringBoot2.x中management.security.enabled=false無(wú)效的解決

    這篇文章主要介紹了SpringBoot2.x中management.security.enabled=false無(wú)效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java Lambda表達(dá)式超詳細(xì)介紹

    Java Lambda表達(dá)式超詳細(xì)介紹

    這篇文章主要介紹了Java Lambda表達(dá)式,Lambda表達(dá)式是Java SE 8中一個(gè)重要的新特性, Lambda 表達(dá)式(Lambda expression)可以看作是一個(gè)匿名函數(shù),基于數(shù)學(xué)中的λ演算得名,也可稱為閉包(Closure),下面來(lái)看看文章具體的詳細(xì)介紹吧
    2022-02-02
  • 基于UDP實(shí)現(xiàn)聊天室功能

    基于UDP實(shí)現(xiàn)聊天室功能

    這篇文章主要為大家詳細(xì)介紹了基于UDP實(shí)現(xiàn)聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • maven項(xiàng)目pom.xml中parent標(biāo)簽的使用小結(jié)

    maven項(xiàng)目pom.xml中parent標(biāo)簽的使用小結(jié)

    使用maven是為了更好的幫項(xiàng)目管理包依賴,maven的核心就是pom.xml,當(dāng)我們需要引入一個(gè)jar包時(shí),在pom文件中加上就可以從倉(cāng)庫(kù)中依賴到相應(yīng)的jar包,本文就來(lái)介紹一下maven項(xiàng)目pom.xml中parent標(biāo)簽的使用小結(jié),感興趣的可以了解一下
    2023-12-12
  • Java中ModelMapper?的高級(jí)使用

    Java中ModelMapper?的高級(jí)使用

    本文主要介紹了Java中ModelMapper?的高級(jí)使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • java定義通用返回結(jié)果類ResultVO使用示例詳解

    java定義通用返回結(jié)果類ResultVO使用示例詳解

    這篇文章主要為大家介紹了java定義通用返回結(jié)果類ResultVO使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • SpringBoot 統(tǒng)一異常處理的實(shí)現(xiàn)示例

    SpringBoot 統(tǒng)一異常處理的實(shí)現(xiàn)示例

    本文主要介紹了SpringBoot 統(tǒng)一異常處理的實(shí)現(xiàn)示例,目的就是在異常發(fā)生時(shí),盡可能地減少破壞,下面就來(lái)介紹一下,感興趣的可以了解一下
    2024-07-07
  • Restful之通用返回格式類設(shè)計(jì)

    Restful之通用返回格式類設(shè)計(jì)

    這篇文章主要介紹了Restful之通用返回格式類設(shè)計(jì),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 淺談在JAVA項(xiàng)目中LOG4J的使用

    淺談在JAVA項(xiàng)目中LOG4J的使用

    下面小編就為大家?guī)?lái)一篇淺談在JAVA項(xiàng)目中LOG4J的使用。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • Java 解析Markdown文檔格式的兩種方式

    Java 解析Markdown文檔格式的兩種方式

    CommonMark和Flexmark是兩種用于解析Markdown文檔的Java庫(kù),CommonMark提供了一種簡(jiǎn)潔和一致的Markdown格式語(yǔ)法規(guī)范,但不支持目錄解析,而Flexmark是一個(gè)基于CommonMark的擴(kuò)展庫(kù),不僅遵循了CommonMark規(guī)范,還提供了更多靈活的API和擴(kuò)展功能
    2024-10-10

最新評(píng)論

垫江县| 叶城县| 海原县| 甘谷县| 监利县| 黔南| 阜康市| 社旗县| 临汾市| 阿城市| 富锦市| 江门市| 商河县| 上犹县| 长垣县| 南溪县| 和政县| 邢台市| 洪雅县| 福州市| 崇文区| 东城区| 宜宾市| 霞浦县| 华池县| 勃利县| 灵台县| 全椒县| 营山县| 新巴尔虎左旗| 锡林浩特市| 云林县| 景宁| 普宁市| 浮梁县| 姚安县| 治县。| 奈曼旗| 永定县| 象州县| 达拉特旗|