Mybatis傳遞多個(gè)參數(shù)的4種方式

下面給大家總結(jié)了以下幾種多參數(shù)傳遞的方法霹肝。

方法1:順序傳參法

public User selectUser(String name, int deptId);

<select id="selectUser" resultMap="UserResultMap">
    select * from user
    where user_name = #{0} and dept_id = #{1}
</select>

#{}里面的數(shù)字代表你傳入?yún)?shù)的順序市袖。

這種方法不建議使用,sql層表達(dá)不直觀薇缅,且一旦順序調(diào)整容易出錯(cuò)浩嫌。

方法2:@Param注解傳參法

public User selectUser(@Param("userName") String name, int @Param("deptId") deptId);

<select id="selectUser" resultMap="UserResultMap">
    select * from user
    where user_name = #{userName} and dept_id = #{deptId}
</select>

#{}里面的名稱對(duì)應(yīng)的是注解@Param括號(hào)里面修飾的名稱涝焙。

這種方法在參數(shù)不多的情況還是比較直觀的俺泣,推薦使用祥款。

方法3:Map傳參法

public User selectUser(Map<String, Object> params);

<select id="selectUser" parameterType="java.util.Map" resultMap="UserResultMap">
    select * from user
    where user_name = #{userName} and dept_id = #{deptId}
</select>

#{}里面的名稱對(duì)應(yīng)的是Map里面的key名稱罗侯。

這種方法適合傳遞多個(gè)參數(shù)器腋,且參數(shù)易變能靈活傳遞的情況。

PS:
MyBatis傳遞map參數(shù)時(shí)钩杰,如果傳遞參數(shù)中沒(méi)有對(duì)應(yīng)的key值纫塌,在執(zhí)行sql語(yǔ)句時(shí)默認(rèn)取的是null
例如:map中沒(méi)有put “name”這個(gè)key,在sql中使用#{name}時(shí)讲弄,默認(rèn)賦值null

方法4:Java Bean傳參法

public User selectUser(Map<String, Object> params);

<select id="selectUser" parameterType="com.test.User" resultMap="UserResultMap">
    select * from user
    where user_name = #{userName} and dept_id = #{deptId}
</select>

#{}里面的名稱對(duì)應(yīng)的是User類里面的成員屬性措左。

這種方法很直觀,但需要建一個(gè)實(shí)體類避除,擴(kuò)展不容易怎披,需要加屬性,看情況使用瓶摆。

??
作者:架構(gòu)之路
鏈接:http://www.reibang.com/p/0ef856fcf938
來(lái)源:簡(jiǎn)書(shū)
著作權(quán)歸作者所有凉逛。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處赏壹。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鱼炒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蝌借,更是在濱河造成了極大的恐慌昔瞧,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件菩佑,死亡現(xiàn)場(chǎng)離奇詭異自晰,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)稍坯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門酬荞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人瞧哟,你說(shuō)我怎么就攤上這事混巧。” “怎么了勤揩?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵咧党,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我陨亡,道長(zhǎng)傍衡,這世上最難降的妖魔是什么深员? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮蛙埂,結(jié)果婚禮上倦畅,老公的妹妹穿的比我還像新娘。我一直安慰自己绣的,他們只是感情好叠赐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著被辑,像睡著了一般燎悍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上盼理,一...
    開(kāi)封第一講書(shū)人閱讀 51,208評(píng)論 1 299
  • 那天谈山,我揣著相機(jī)與錄音,去河邊找鬼宏怔。 笑死奏路,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的臊诊。 我是一名探鬼主播鸽粉,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼抓艳!你這毒婦竟也來(lái)了触机?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤玷或,失蹤者是張志新(化名)和其女友劉穎儡首,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體偏友,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蔬胯,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了位他。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片氛濒。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鹅髓,靈堂內(nèi)的尸體忽然破棺而出舞竿,到底是詐尸還是另有隱情,我是刑警寧澤窿冯,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布骗奖,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏重归。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一厦凤、第九天 我趴在偏房一處隱蔽的房頂上張望鼻吮。 院中可真熱鬧,春花似錦较鼓、人聲如沸椎木。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)香椎。三九已至,卻和暖如春禽篱,著一層夾襖步出監(jiān)牢的瞬間畜伐,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工躺率, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留玛界,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓悼吱,卻偏偏與公主長(zhǎng)得像慎框,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子后添,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理笨枯,服務(wù)發(fā)現(xiàn),斷路器遇西,智...
    卡卡羅2017閱讀 134,652評(píng)論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法馅精,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法努溃,繼承相關(guān)的語(yǔ)法硫嘶,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,624評(píng)論 18 399
  • 不做溫柔的人梧税,也不做冷漠的人成為“真正溫柔的人”很難沦疾,但只是被稱贊溫柔很容易。不考慮事實(shí)第队,不計(jì)后果哮塞,一味迎合對(duì)方,...
    樂(lè)意樂(lè)讀閱讀 1,194評(píng)論 2 1
  • 一 根據(jù)官方的文檔凳谦,學(xué)習(xí)swoole需要掌握的基礎(chǔ)知識(shí)忆畅,這些基礎(chǔ)知識(shí)會(huì)在學(xué)習(xí)的過(guò)程中邊用邊寫(xiě),不然直接寫(xiě)也就忘記了...
    我是一名程序員閱讀 819評(píng)論 0 4
  • 原創(chuàng) 2017-07-18 「得到」 羅輯思維 引言 保姆和雇主到底是一種什么關(guān)系尸执?維持什么樣的距離最合適家凯?如何處...
    九斤yesheng閱讀 689評(píng)論 0 0