有关Spring应用程序中JDBC中的SQL指令的一些信息

时间:2013-03-03 08:40:21

标签: java sql spring spring-mvc jdbc

我正在研究如何在本教程之后使用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特定的形式或者它是什么?

谢谢

安德烈

1 个答案:

答案 0 :(得分:2)

准备好的陈述使用?作为参数的占位符是标准JDBC功能。阅读JDBC tutorial(以及JDBC javadoc)以了解JDBC提供的内容。

Spring-JDBC将JdbcTemplate添加到普通JDBC上,这有助于处理异常,关闭资源,从行生成对象等。它还增加了对命名参数的支持,普通JDBC不支持这些参数。

java.sqljavax.sql中的类是标准Java类。包org.springframework中的类是特定于Spring的类。