一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Mybatis中傳遞多個參數的4種方法總結

Mybatis中傳遞多個參數的4種方法總結

2021-04-24 11:50Hollis Java教程

這篇文章主要給大家介紹了關于Mybatis中傳遞多個參數的4種方法,并且介紹了關于使用Mapper接口時參數傳遞方式,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。

前言

現在大多項目都是使用mybatis了,但也有些公司使用hibernate。使用mybatis最大的特性就是sql需要自己寫,而寫sql就需要傳遞多個參數。面對各種復雜的業務場景,傳遞參數也是一種學問。

Mybatis中傳遞多個參數的4種方法總結

下面給大家總結了以下幾種多參數傳遞的方法。

方法1:順序傳參法

Mybatis中傳遞多個參數的4種方法總結

#{}里面的數字代表你傳入參數的順序。

這種方法不建議使用,sql層表達不直觀,且一旦順序調整容易出錯。

方法2:@param注解傳參法

Mybatis中傳遞多個參數的4種方法總結

#{}里面的名稱對應的是注解 @param括號里面修飾的名稱。

這種方法在參數不多的情況還是比較直觀的,推薦使用。

方法3:map傳參法

Mybatis中傳遞多個參數的4種方法總結

#{}里面的名稱對應的是 map里面的key名稱。

這種方法適合傳遞多個參數,且參數易變能靈活傳遞的情況。

方法4:java bean傳參法

Mybatis中傳遞多個參數的4種方法總結

#{}里面的名稱對應的是 user類里面的成員屬性。

這種方法很直觀,但需要建一個實體類,擴展不容易,需要加屬性,看情況使用。

使用mapper接口時參數傳遞方式

mybatis在使用mapper接口進行編程時,其實底層是采用了動態代理機制,表面上是調用的mapper接口,而實際上是通過動態代理調用的sqlsession的對應方法,如selectone(),有興趣的朋友可以查看defaultsqlsession的getmapper()方法實現,其最終會獲得一個代理了mapper接口的mapperproxy對象。mapperproxy對象在調用mapper接口方法時會把傳遞的參數做一個轉換,然后把轉換后的參數作為入參調用sqlsession對應的操作方法(如selectone、insert等)。轉換過程可以參考mappermethod的execute()方法實現。簡單來說是以下規則:

1、如果傳遞過來是單參數,且沒有以@param注解進行命名,則直接將單參數作為真實的參數調用sqlsession的對應方法。

2、如果傳遞過來的不是單參數或者是包含以@param注解進行命名的參數,則會將對應的參數轉換為一個map進行傳遞。具體規則如下:

      2.1、 會把對應的參數按照順序以param1、param2、paramn這樣的形式作為key存入目標map中,第一個參數是param1,第n個參數是paramn。

      2.2、 如果參數是以@param注解命名的參數,則以@param指定的名稱作為key存入目標map中。

      2.3、 如果參數不是以@param注解命名的,則按照順序以0、1、n這樣的形式作為key存入目標map中,第一個參數是0,第n個參數是n。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:http://zhuanlan.51cto.com/art/201804/571910.htm

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 把美女屁股眼扒开图片 | 国产亚洲福利一区二区免费看 | 好大好爽好涨太深了小喜 | 亚洲精品国精品久久99热 | 火影忍者小南裸羞羞漫画 | 美女一级ba大片免色 | 交换年轻夫妇HD中文字幕 | 91正在 播放 | 欧洲第一区第二区第三区 | 小柔的性放荡羞辱日记动漫 | 午夜欧美精品久久久久久久 | 能免费观看的韩剧 | 手机在线免费观看日本推理片 | 国产美女屁股直流白浆视频无遮挡 | 久久久久激情免费观看 | 国产色司机在线视频免费观看 | 亚洲精品在线播放 | 亚洲精品第三页 | 午夜办公室 | 教师波多野结衣在线播放 | 国产白虎 | 日本卡一卡2卡3卡4精品卡无人区 | 四缺一写的小说 | 日韩精品成人a在线观看 | 色多多视频在线 | 视频一区二区三区欧美日韩 | 涩涩国产精品福利在线观看 | 天若有情1992国语版完整版 | 欧美va在线播放免费观看 | 韩国最新理论片奇忧影院 | 午夜视频网站 | 激情影院免费观看 | 无人视频在线观看完整版高清 | 亚洲国产欧美在线成人aaaa | 日韩人成 | 色亚州| 日韩无砖专区体验区 | 国产在线乱子伦一区二区 | 日本成人免费在线视频 | 欧美高清milf在线播放 | 国产精品毛片高清在线完整版 |