Spring JDBC - 概述


在使用普通旧式 JDBC 处理数据库时,编写不必要的代码来处理异常、打开和关闭数据库连接等会变得很麻烦。但是,Spring JDBC 框架会处理从打开连接、准备和关闭数据库开始的所有低级细节。执行SQL语句,处理异常,处理事务,最后关闭连接。

您所要做的只是定义连接参数并指定要执行的 SQL 语句,并在从数据库获取数据时为每次迭代执行所需的工作。

Spring JDBC 提供了多种方法和相应的不同类来与数据库交互。在本教程中,我们将采用经典且最流行的方法,即利用框架的 JDBC 模板类。这是管理所有数据库通信和异常处理的中心框架类。

JDBC 模板类

JDBC Template 类执行 SQL 查询、更新语句和存储过程调用、对 ResultSet 执行迭代并提取返回的参数值。它还捕获 JDBC 异常并将其转换为 org.springframework.dao 包中定义的通用的、信息更丰富的异常层次结构。

JDBC Template 类的实例一旦配置后就是线程安全的。因此,您可以配置 JDBC 模板的单个实例,然后安全地将这个共享引用注入到多个 DAO 中。

使用 JDBC Template 类时的常见做法是在 Spring 配置文件中配置 DataSource,然后将该共享 DataSource bean 依赖项注入到 DAO 类中。JDBC 模板是在数据源的 setter 中创建的。

数据访问对象 (DAO)

DAO 代表数据访问对象,通常用于数据库交互。DAO 的存在是为了提供一种在数据库中读取和写入数据的方法,它们应该通过一个接口公开此功能,应用程序的其余部分可以通过该接口访问它们。

Spring 中的数据访问对象 (DAO) 支持可以轻松地以一致的方式使用数据访问技术,例如 JDBC、Hibernate、JPA 或 JDO。