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方法多参数的处理及问题的主要内容,如果未能解决你的问题,请参考以下文章