基本概念
PreparedStatement:Statement的改良版,具有预编译功能,方便使用,运行速度快。
问题描述
1.根据测试占位符?不能用于表名
String strSql="SELECT * FROM ?";try(PreparedStatement ps=conn.prepareStatement(strSql)) {ps.setObject(1,"person");
会提示SQL语法错误
Exception in thread "main" java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: 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 ''person''
2.占位符?用于其它变量名时,执行正常
String strSql="SELECT * FROM person WHERE name =?";try(PreparedStatement ps=conn.prepareStatement(strSql)) {ps.setObject(1,"张三");ResultSet rs=ps.executeQuery();
参考文章
/L_BestCoder/article/details/70943649
/weixin_42509123/article/details/89842209
/u011510825/article/details/81807253
/gklsy/archive//01/10/2317934.html