MyBatis 多参数传递
MyBatis的mapper接口不需要自己實(shí)現(xiàn),框架會(huì)自動(dòng)幫我們實(shí)現(xiàn),到時(shí)候直接調(diào)用就可以了。定義的mapper接口中的方法可以有多個(gè)參數(shù) 嗎?答案是肯定。在Ibatis時(shí)代是自己通過代碼實(shí)現(xiàn)如何調(diào)用xml中定義的statement,接受的參數(shù)只能是一個(gè),所以處理的辦法通常是用Map 的方式。當(dāng)然這個(gè)也能使用在MyBatis上,不過MyBatis提供更加簡單的方法。下面就通過例子來說明。
Mapper接口
public interface TestMapper {Object meth1(String para1, String para2);/*** p1、p2可以是任何合法的java命名方式* xml中可以根據(jù)此標(biāo)示來獲取到具體傳入的值*/Object meth2(@Param("p1")String para1, @Param("p2")String para2); }mapper.xml
<select id="meth1" resultType="int">select count(*) from testwhere col1 = #{0}and clo2 = #{1}</select><select id="meth2" resultType="int">select count(*) from testwhere col1 = #{p1}and clo2 = #{p2}</select>上述兩種方法都行的通,上述statement中不需要指定parameterType。如果不使用 @Param注解方式,那么可以通過#{0}、#{1}的方式來獲取參數(shù)的值,注意function中的第一個(gè)參數(shù)是0;使用了注解就按注解中定義的名字 來取。推薦使用注解的方式。在方法重構(gòu)時(shí),例如增加、減少或調(diào)整參數(shù)的順序,如果使用非注解的方式,在修改xml時(shí)就顯得比較麻煩,可能里面 的${0}、${1}、${2}都需要調(diào)整,而且不明確,特別是參數(shù)較多的情況下。
轉(zhuǎn)載于:https://www.cnblogs.com/jimmyChou/p/4242449.html
總結(jié)
以上是生活随笔為你收集整理的MyBatis 多参数传递的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10天学安卓-第六天
- 下一篇: ssh代理登录内网服务器