今天在使用mybatis框架时遇到一个让我很郁闷的错误
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.NumberFormatException: For input string: "%yang%"person域在传值时出现了格式转换错误,经过一番研究后发现,MapperXml的配置是关键,对于像person这样字符串类型的参数,测试其是否非空的参数应该这样写
<if test="person!=null and person!=' ' ">
and person like #{person}
</if>
注意是person!='',两个引号间不能有空格。
对于int类型的参数,必须要有空格才不会报错,另外,最好在定义类属性时使用Integer这样的包装类而非int这样的基础类。