0

我正在学习如何按照本教程使用 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 的形式,或者它是什么?

谢谢

安德烈亚

4

1 回答 1

2

使用准备好的语句?作为参数的占位符是标准 JDBC 功能。阅读JDBC 教程(和 JDBC javadoc)以了解 JDBC 提供的内容。

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

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

于 2013-03-03T08:45:04.113 回答