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:

    

 

 

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

猜你喜欢

转载自www.cnblogs.com/lzpsir/p/11985751.html