激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

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

Mybatis中傳遞多個參數(shù)的4種方法總結

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

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

前言

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

Mybatis中傳遞多個參數(shù)的4種方法總結

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

方法1:順序傳參法

Mybatis中傳遞多個參數(shù)的4種方法總結

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

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

方法2:@param注解傳參法

Mybatis中傳遞多個參數(shù)的4種方法總結

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

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

方法3:map傳參法

Mybatis中傳遞多個參數(shù)的4種方法總結

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

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

方法4:java bean傳參法

Mybatis中傳遞多個參數(shù)的4種方法總結

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

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

使用mapper接口時參數(shù)傳遞方式

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

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

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

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

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

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

總結

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99影视电影电视剧在线播放 | 蜜桃网站在线观看 | 一色一情 | 免费国产一级特黄久久 | 精品一区二区三区免费视频 | 亚洲国产高清自拍 | 国产欧美在线一区二区三区 | www.射| 又黄又爽又色无遮挡免费 | 国产婷婷一区二区三区 | 人人玩人人爽 | 在线观看福利网站 | 日本成人午夜视频 | 精品人伦一区二区三区蜜桃网站 | 欧美一级欧美 | 成人午夜精品久久久久久久蜜臀 | 国产人妖一区二区 | 国产毛片网站 | 欧美一级电影网 | 精品亚洲一区二区 | 毛片在线免费 | 国产三级午夜理伦三级 | 毛片大全| 国产精品久久久久久久久久免 | 亚洲综合视频网站 | 中文字幕视频在线播放 | 久久精品视频7 | 一区二区三区手机在线观看 | 一级黄色影片在线观看 | 久久久久.com | 久久九九热re6这里有精品 | 国产精品视频1区 | 视频毛片 | 久久嗨| 久久免费视频一区二区三区 | 99在线热播精品免费 | 美女黄色毛片免费看 | 国产欧美在线观看不卡一 | 免费在线一区二区 | 成人精品免费看 | 国产精品刺激对白麻豆99 |