深入了解MyBatis参数

有遇到mapper接口一个参数,有时候报错情况:There is no getter for property named 'XXX' in 'class java.lang.String,

报错原因:Mybatis默认采用ONGL解析参数,所以会自动采用对象树的形式取string.num值,引起报错

 

解决方法普遍有2种:

1、直接在mapper接口里面给参数在@Param注解,如:public List methodName(@Param(value="num") String num)的方法说明参数值,注解将参数转成map

2、在xml中使用_parameter来代替参数名,如: 

<if test="_parameter != '1'.toString() ">
          PARENT_ID = #{_parameter}
   </if>

一般常用方法1

后面又看到一编好博客,值得学习,是源码深入解析mapper由于篇幅太长,这里就直接保存地址,方便查看 https://blog.csdn.net/isea533/article/details/44002219

 

 

 


版权声明:本文为LouisZhoun原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。