MyBatis方法多参数的处理及问题

Posted 想一千次不如去做一次,华丽的跌倒,胜过无谓的徘徊...

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(参数类型):是非必须的 可写可不写

总结:一般最好使用注解或者使用对象进行多参数的处理

以上是关于MyBatis方法多参数的处理及问题的主要内容,如果未能解决你的问题,请参考以下文章

mybatis 接口绑定方案及多参数传递

MyBatis参数处理及测试增删改查

MyBatis传入多个参数 ,List集合

Mybatis 映射文件-参数处理

MyBatis多参数传递之注解方式示例--转

mybatis之接口方法多参数的三种实现方式