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: "a"
### Cause: java.lang.NumberFormatException: For input string: "a"
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:965)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:855)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
错误原因:文中写出是数字转换格式错误,但实际都是String类型,所以并没有格式问题.
实际原因是因为MyBatis中模糊查询,不支持login_name != ’ ‘,即:
<if test="login_name != null and login_name != ' '">
and login_name like '%'||#{login_name,jdbcType=VARCHAR}||'%'
</if>
所以应该进行更改
<if test="login_name != null && login_name.length()>0">
and login_name like '%'||#{login_name,jdbcType=VARCHAR}||'%'
</if>
可以正常运行:
本文介绍了一个关于使用MyBatis进行模糊查询时遇到的问题及解决方案。问题表现为当使用不等于空字符串的条件时引发NumberFormatException异常。通过调整XML映射文件中的条件判断逻辑,成功解决了这一问题。

614

被折叠的 条评论
为什么被折叠?



