Mybatis的接口方法多參數傳遞的四種處理方式
1.使用接口方法參數的索引傳遞
使用java方法的默認規范,參數是有索引的,我們需要在SQL中指定參數的索引位置
接口中的方法:
mapper.xml中的SQL:
這里需要注意:不同的版本索引傳值的寫法可能不同 低版本可以使用這種直接使用參數索引的方式
高一點的版本得寫成:id = #{arg0} and name = #{arg1}
我在其它博客中看到有的版本還支持直接參數傳值的方式.(版本問題沒有太深研究)
當出現圖中問題時 可能就是這個問題導致
2.使用@Param注解
使用Mybatis的注解功能,在定義接口方法的時候聲明SQL中使用參數名
接口中的方法:
mapper.xml中的SQL:
3.傳遞對象
可以直接傳遞一個對象,在SQL中直接使用對象的屬性值,來進行多參數的傳遞
接口中的方法:
mapper.xml中的SQL:
4.傳遞map集合
使用map集合的方式傳入多個參數值,在SQL中我們使用map中的key來映射值
測試:
接口中的方法:
mapper.xml中的SQL:
parameterType(參數類型):是非必須的 可寫可不寫
總結:一般最好使用注解或者使用對象進行多參數的處理