JAVA——prepareStatement中SQL语句中占位符(?)替换表名和字段名
基本概念
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();
參考文章
https://blog.csdn.net/L_BestCoder/article/details/70943649
https://blog.csdn.net/weixin_42509123/article/details/89842209
https://blog.csdn.net/u011510825/article/details/81807253
https://www.cnblogs.com/gklsy/archive/2012/01/10/2317934.html
總結
以上是生活随笔為你收集整理的JAVA——prepareStatement中SQL语句中占位符(?)替换表名和字段名的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Web 前端——项目文件夹命名规范
- 下一篇: Eclipse——项目中使用jar包(添