在使用普通旧JDBC处理数据库时,编写不必要的代码来处理异常,打开和关闭数据库连接等变得非常麻烦。但是Spring JDBC框架从打开连接开始处理所有底层基础细节,准备并执行SQL语句,处理进程异常,处理事务,最后关闭连接。
所以使用Spring JDBC框架后,只是需要定义连接参数,并指定要执行的SQL语句,并在从数据库中获取数据时对每次迭代执行所需的工作即可。
Spring JDBC提供了几种方法和相应的不同类与数据库的接口。 本教程中将采用经典和最流行的方法,它使用了JdbcTemplate类的框架。这是管理所有数据库通信和异常处理的中央框架类。
JdbcTemplate类
JdbcTemplate类执行SQL查询,更新语句和存储过程调用,在ResultSet上执行迭代并提取返回的参数值。 它还捕获JDBC异常,并将它们转换为org.springframework.dao
包中定义的通用,更详细的异常层次结构。
配置JdbcTemplate
类的实例是线程安全的。 因此,可以配置JdbcTemplate
的单个实例,然后将该共享引用安全地注入到多个DAO中。
使用JdbcTemplate类时常见的做法是在Spring配置文件中配置DataSource,然后将共享DataSource bean的dependency-inject
注入到DAO类中,并在DataSource的setter
中创建JdbcTemplate。
数据访问对象(DAO)
DAO代表通常用于数据库交互的数据访问对象。 DAO提供读取和写入数据到数据库的方法,并且它们应该通过其他应用程序访问它们的接口来公开此功能。
Spring中的数据访问对象(DAO)支持能够以一致的方式轻松处理JDBC,Hibernate,JPA或JDO等数据访问技术。