MyBatis方法多參數的處理及問題


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(參數類型):是非必須的 可寫可不寫

總結:一般最好使用注解或者使用對象進行多參數的處理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM