报错场景:用jdbc连接mysql,用PreparedStatement时候报了sql语句的错误。
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 '?' at line 1
报错原因:
ResultSet rs = ps.executeQuery(sql);这一句里面多给了一个sql的参数,这个参数不用给,给了就报错
解决方法:
ResultSet rs = ps.executeQuery(sql);
这一句改成
ResultSet rs = ps.executeQuery();
我也不知道自己什么时候加的sql这个参数,用惯了用mybatis写xml的方式写sql,但是突然需要使用jdbc来写,不熟练所以报错。这个问题应该也是比较少见的。
参考博客:http://www.cocoachina.com/articles/49775