有遇到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