MyBatis的mapper介面不需要自己實現,框架會自動幫我們實現,到時候直接呼叫就可以了。定義的mapper介面中的方法可以有多個引數嗎?答案是肯定。在Ibatis時代是自己通過程式碼實現如何呼叫xml中定義的statement,接受的引數只能是一個,所以處理的辦法通常是用Map的方式。當然這個也能使用在MyBatis上,不過MyBatis提供更加簡單的方法。下面就通過例子來說明。
Mapper介面
public interface TestMapper {
Object meth1(String para1, String para2);
/**
* p1、p2可以是任何合法的java命名方式
* xml中可以根據此標示來獲取到具體傳入的值
*/
Objectmeth2(@Param("p1")String para1, @Param("p2")Stringpara2);
}
mapper.xml
<select id="meth1"resultType="int">
select count * fromtest
where col1 =#{0}
and clo2 = #{1}
</select>
<select id="meth2"resultType="int">
select count * fromtest
wherecol1 = #{p1}
and clo2 =#{p2}
</select>
上述兩種方法都行的通,上述statement中不需要指定parameterType。如果不使用@Param註解方式,那麼可以通過#{0}、#{1}的方式來獲取引數的值,注意function中的第一個引數是0;使用了註解就按註解中定義的名字來取。推薦使用註解的方式。在方法重構時,例如增加、減少或調整引數的順序,如果使用非註解的方式,在修改xml時就顯得比較麻煩,可能裡面的${0}、${1}、${2}都需要調整,而且不明確,特別是引數較多的情況下。
MyBatis 如何接收引數
相關文章
- mybatis如何傳引數MyBatis
- nodejs接收get引數和post引數NodeJS
- jQuery接收url的引數jQuery
- Go 接收命令列引數Go命令列
- mybatis 的傳入引數如何既有物件又有單個引數MyBatis物件
- 如何在mybatis 中傳多個引數,如何在mybatis 中遍歷 集合?MyBatis
- MyBatis 引數處理MyBatis
- Mybatis的引數-parameterTypeMyBatis
- Mybatis引數傳遞MyBatis
- 直播系統搭建,vue之computed帶引數如何接收Vue
- Go函式接收可變引數Go函式
- 給一個介面傳遞引數,並接收返回的引數
- Request 接收引數亂碼原理解析
- Laravel同時接收路由引數和查詢字串中的引數Laravel路由字串
- mybatis 傳入多個引數MyBatis
- mybatis引數型別錯誤MyBatis型別
- mybatis二級快取引數MyBatis快取
- Mybatis引數處理總結MyBatis
- MyBatis傳入多個引數MyBatis
- Android 頁面跳轉傳遞引數及頁面返回接收引數Android
- Mybatis傳入引數為List物件MyBatis物件
- mybatis 多引數 list和StringMyBatis
- RESTFUL風格的URL請求及引數接收REST
- PHP接收GET中文引數亂碼深入研究PHP
- 12.MyBatis學習--對映檔案_引數處理_單個引數&多個引數&命名引數MyBatis
- SpringBoot Get 請求接收 Date 型別引數Spring Boot型別
- JavaWeb基礎-Request物件接收表單請求引數JavaWeb物件
- MVC接收以post形式傳輸的各種引數MVC
- Mybatis引數傳遞&註解開發MyBatis
- SpringMVC中@RequestBody接收前端傳來的多個引數SpringMVC前端
- Mybatis parameterType 傳入多個引數的使用MyBatis
- MyBatis中傳入引數為List集合的MyBatis
- Mybatis foreach 請求引數是物件集合MyBatis物件
- mybatis list作為引數 foreach迴圈MyBatis
- MyBatis傳入多個引數的問題MyBatis
- mybatis 傳遞多個引數 --解決mybatis查詢使用多個引數方法--javabean傳統方法和map方法MyBatisJavaBean
- Angular專案下一個路由如何接收到上一個路由url中的引數idAngular路由
- MVC如何避免控制器方法接收到的值不能被轉換為引數型別MVC型別