【问题标题】:Some information about SQL instruction in JDBC in a Spring application关于 Spring 应用程序中 JDBC 中的 SQL 指令的一些信息
【发布时间】:2013-03-03 08:40:21
【问题描述】:

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

谢谢

安德烈亚

【问题讨论】:

  • insert into Student("Andrea", 25) 在我知道的任何 SQL 方言中都不是有效的插入语句。

标签: java sql spring spring-mvc jdbc


【解决方案1】:

使用 ?作为参数的占位符是标准的 JDBC 功能。阅读 JDBC tutorial(和 JDBC javadoc)以了解 JDBC 提供的功能。

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

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

【讨论】:

    猜你喜欢
    • 2013-02-04
    • 2018-06-03
    • 2012-12-01
    • 2012-02-11
    • 2016-07-30
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多