我正在研究如何在本教程之后使用JDBC在Spring上的数据库上实现CRUD操作:http://www.tutorialspoint.com/spring/spring_jdbc_example.htm
很明显但我对如何指定SQL查询只有疑问:
例如,在 StudentJDBCTemplate 分段的 create()方法中,查询按以下方式声明:
String SQL = "insert into Student (name, age) values (?, ?)";
这与classi SQL语句完全不同:
insert into Student("Andrea", 25);
我读过有关“?”的用法用于防止SQL注入的占位符,我已经理解了这个插入指令是如何工作的(它非常直观......)
我只知道本教程中使用的指令是JDBC还是Spring特定的形式或者它是什么?
谢谢
安德烈
答案 0 :(得分:2)
准备好的陈述使用?作为参数的占位符是标准JDBC功能。阅读JDBC tutorial(以及JDBC javadoc)以了解JDBC提供的内容。
Spring-JDBC将JdbcTemplate添加到普通JDBC上,这有助于处理异常,关闭资源,从行生成对象等。它还增加了对命名参数的支持,普通JDBC不支持这些参数。
包java.sql
和javax.sql
中的类是标准Java类。包org.springframework
中的类是特定于Spring的类。