### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE menuId = 1' at line 3\r\n### The error may involve com.centerm.usermanager.mapper.MenuMapper.updateMenu-Inline\r\n### The error occurred while setting parameters\r\n### SQL: UPDATE menu_info WHERE menuId = ?\r\n### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE menuId = 1' at line 3\n; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE menuId = 1' at line 3",
<if test="state != null and state != ''">state=#{state},</if>
原因:state为int类型,如果state的值为0,会被判定为‘ ’。
解决方案:删掉 state != ''" 结果如下
<if test="state != null >state=#{state},</if>