關於Mybatis中mapper.xml的傳入參數簡單技巧


由於在做項目的時候,我看見同事使用的傳入參數類型各式各樣,感覺沒規律可言,閑暇的時候我就自己搭建了項目做了一些傳入參數的測試(當然其實更好的方式是看源碼,但是博主能力有限,畢竟入行沒多久,看起來很吃力,只能靠測試來找規律,下面是我發現的小技巧,我測試的是3.4.x版本的,猜想應該現在用的版本規律都差不多);

首先聲明,常用的不管傳入參數是什么,sqlStatement中的parameterType都可以不寫,如下圖:

 

請關注6、
1: 對於傳入參數為對象類型的,直接使用屬性.屬性.屬性獲取值 , 如: #{xx.xx.xx};
 2:對於傳入參數為map類型的,直接使用key獲取值,如 : map = {"name": "張三''},使用#{name}獲取“張三”;
3: 對於傳入參數為集合類型,一般都會使用到foreach標簽,在collection屬性中使用collection或者list或array獲取該集合,collection, list是針對List類型,array是對數組類型,表達式為:collection="collection",collection="list",collection="array";

4 : 對於簡單類型,獲取的時候可以通過任意鍵獲取。如 : #{我是任意鍵},#{x},#{y},#{z}均可獲取;
5 : 對於單個傳入參數,使用@Param(“key”)的時候可以把參數裝到map中,和2一樣,使用key獲取值;
6 : 對於多個參數(包含簡單類型,list和array),如果使用全部使用@Param裝到map中,就可像2一樣使用key獲取值,當然也可以使用通用方法,對於第一個參數我們就使用#{param1}獲取,第二個參數使用#{param2}獲取,以此類推;如果不使用@Param,也可以使用#{param1},#{param2}獲取(還可以使用arg0,arg1..可忽略);
其實我可能也沒描述清楚,在此表示慚愧!


————————————————
版權聲明:本文為CSDN博主「迪迪的男票子」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_35423108/article/details/76255202


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM