首先放上我的代码
<if test=" ids!= null and ids!= '' ">
AND id IN(${ids})
</if>
其中ids为一个String类型的字符串,我在传参时只传这一个参数,
运行时控制台打印的错误为:There is no getter for property named ‘ids’ in ‘class java.lang.String’
我猜测是只传入的String类型时,mybatis并不是通过参数名接收的。
这里有两种解决方法,一种是把参数改为Map类型,可以直接用key当名称
第二种是将
ids
改为
_parameter
最后的写法是
<if test=" _parameter != null and _parameter != '' ">
AND id IN(${_parameter})
</if>
mybatis会将传的String类型的单一参数识别为此写法。