报错信息:
### Error querying database. Cause: java.lang.NumberFormatException: For input string: "刘"
### Cause: java.lang.NumberFormatException: For input string: "刘"] with root cause
java.lang.NumberFormatException: For input string: "刘"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at org.apache.ibatis.ognl.OgnlOps.doubleValue(OgnlOps.java:243)
at org.apache.ibatis.ognl.OgnlOps.compareWithConversion(OgnlOps.java:100)
at org.apache.ibatis.ognl.OgnlOps.isEqual(OgnlOps.java:143)
at org.apache.ibatis.ognl.OgnlOps.equal(OgnlOps.java:802)
at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:53)
at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)
at org.apache.ibatis.ognl.ASTAnd.getValueBody(ASTAnd.java:61)
at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)
mapper如下:
<select id="getTcrewByDepcode" resultType="hashmap">
SELECT c.user_name,d.dd_name,c.mobil_no,c.phone,c.e_mail
FROM T_CREW c LEFT JOIN T_DATA_DICTIONARY d ON c.dep_code = d.id
WHERE 1=1 AND c.delete_flag = 'N'
<if test="depCode != null and depCode !=' '">
AND c.dep_code = #{depCode}
</if>
<if test="name != null and name !=' '">
AND c.user_name LIKE '%'+#{name}+'%'
</if>
ORDER BY work_no
</select>
解决:
<if test="depCode != null and depCode !=' '">
<if test="name != null and name !=' '">
将判空中的空格去掉即正常运行