注意事项
- 下标从1开始
- 赋值的时候不需要为字符串变量的两边加上’’
直接ps.setString(1, “liguang”); - 占位符只能替换值类型,不能替换表名、字段名或者其他关键词。
PreparedStatement会为占位符?的两边自动加上单引号
,这样会使得SQL语句不可执行,比如使用将表名设置为占位符,数据库执行sql语句时,表名会用单引号引起来,这样会使得sql语句执行出错或者查询不出数据。
参考
https://docs.spring.io/spring/docs/4.3.18.RELEASE/spring-framework-reference/html/jdbc.html
https://www.baeldung.com/sql-injection
https://www.cnblogs.com/xdyixia/p/7844984.html