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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 视频在线观看一区二区三区 | 亚洲免费视频一区二区三区 | 精品国产线拍大陆久久尤物 | 日韩亚洲一区中文字幕在线 | 色妞女女女女女bbbb | 亚州第一页 | 寡妇一级毛片 | 日本亚欧乱色视频在线观看 | 午夜影院在线免费观看 | 99视频久久精品久久 | 欧美精品一区二区三区免费 | 波多野结衣伦理在线观看 | 第一次破苞h | tube69中国露脸 | 狠狠干2017 | 40分钟在线观看免费 | 午夜精品久久久内射近拍高清 | 免费看打屁股视频的软件 | 亚洲欧美日韩精品久久亚洲区 | 日本精品一区二区三区 | 男女真实无遮挡xx00动态图软件 | 日韩精品视频福利资源站 | v视影院| 日韩理论片在线看免费观看 | 国产卡一卡二卡3卡乱码免费 | 亚洲日日做天天做日日谢 | www视频免费观看 | 性做久久久久久久久浪潮 | 国产精品免费一级在线观看 | 99re8在线精品视频免费播放 | 色综合欧美色综合七久久 | 久久久免费观看 | 免费视频 久久久 | 奶茶视频官网免费 | 成年人免费在线播放 | 欧美一区二区日韩一区二区 | 国产福利不卡 | 亚洲乱码一二三四五六区 | 国产精品亚洲片在线va | 精新精新国产自在现拍 | 欧美一级精品 |