因爲在作項目的時候,我看見同事使用的傳入參數類型各式各樣,感受沒規律可言,閒暇的時候我就本身搭建了項目作了一些傳入參數的測試(固然其實更好的方式是看源碼,可是博主能力有限,畢竟入行沒多久,看起來很吃力,只能靠測試來找規律,下面是我發現的小技巧,我測試的是3.4.x版本的,猜測應該如今用的版本規律都差很少);sql
首先聲明,經常使用的無論傳入參數是什麼,sqlStatement中的parameterType均可以不寫,以下圖:數組
請關注六、
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..可忽略);
其實我可能也沒描述清楚,在此表示慚愧!.net
————————————————
版權聲明:本文爲CSDN博主「迪迪的男票子」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。
原文連接:https://blog.csdn.net/qq_35423108/article/details/76255202對象