引言
企业应用程序经常要访问存储在数据库中的信息,因此JDK提供了一个标准接口 JDBC(Java DataBase Connection,Java数据库连接)来进行数据库访问操作。JDBC为多种关系数据库提供了统一访问方式,作为特定厂商数据库访问API的一种高级抽象,它主要包含一些通用的接口类,所以真正的数据库访问操作实现是由各自数据库厂商提供的。通常把厂商提供的特定于数据库的访问API称为数据库JDBC驱动程序,如:Mysql、Oracle、SQL Server驱动等等。
利用JDBC虽然可以方便地访问存储在关系数据库中的信息,但是代码比较繁琐,开发人员不得不在Java对象与关系数据之间进行转换。因此,随着企业应用开发技术的进步。逐渐产生了用来实现Java对象与关系数据之间自动映射的持久化框架,称为对象-关系映射(Ovject/Relation Mapping,ORM)。这些持久化框架包括Hibernate、Mybatis等等。为了进一步促进Java EE企业应用开发,进一步规范ORM实现,Java EE 5.0规范中推出了JPA(Java Persistence API)。需要注意的是,JPA是一个ORM的标准规范,而不是一个具体的ORM框架。
好了,说了这么多,也是为了大家能清楚JDBC和JPA的区别。回归正题,本文关注的是Spring对JDBC的支持,至于Spring对于JPA的支持往后的文章再介绍。
Spring对JDBC的封装
传统的JDBC
首先我们了解一下传统JDBC的工作流程
- 加载数据库驱动程序(Mysql、SQL Server等)
- 通过
DriverManager
获取Connection