01、JDBC概述
1.1、数据的持久化
- 持久化:把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化“,而持久化的实现过程大多通过各种关系数据库来完成。
- 持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。
1.2、Java中的数据存储技术
1、在java
中,数据库存储技术可分为如下几类:
JDBC
直接访问数据库JDO
(Java data object)技术- 第三方
O/R
工具,如hibernate
,mybatis
等。
2、值得注意的是,JDBC
是java
访问数据库的基石,JDP
、Hibernate
、MyBatis
等只是更好的封装了JDBC
。
1.3、JDBC介绍
-
JDBC
是一个独立于特定数据库管理系统、通用的的SQL
数据库存取和操作的公共接口(一组API
),定义了用来访问数据库的标准java
类库,(java.sql
,javax.sql
)使用这些类库可以以一种标准的方法,方便的访问数据库资源。 -
JDBC
为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。 -
JDBC
的目标是使Java
程序员使用JDBC
可以连接任何提供了JDBC
驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化和加快了开发过程。 -
如果没有
JDBC
,程序员将会需要直接访问各种数据库,但由于不同数据库对于数据的增删改查操作规范的设计有所不同,因此,直接访问的方法虽然可以执行,但程序的复用性太差,可移植性太低,实际开发过程中并不推荐。- 如果没有JDBC,那么Java程序访问数据库时是这样的:
- 有了JDBC,Java程序访问数据库时是这样的:
- 如果没有JDBC,那么Java程序访问数据库时是这样的:
-
简单理解为:
JDBC
是SUN
公司提供的一套API
,使用这套API
可以实现对具体数据库的操作(获取链接、关闭连接、DML
、DDL
、DCL
) -
总结如下:
1.4、JDBC的体系架构
JDBC
接口(API
)包括两个层次:- 面向应用的
API
:Java API
,抽象接口,供应用程序开发人员使用(连接数据库,执行SQL
语句,获得结果)。 - 面向数据库的
API
:Java Driver API
,供开发商开发数据库驱动程序用。
- 面向应用的
- 设计两个层次的好处:
- 从开发程序员角度:不需要关注具体的数据库细节。
JDBC
是sun
公司提供一套用于数据库操作的接口,java
程序员只需要面向这套接口编程即可。——面向接口编程思想。 - 从数据库厂商角度:只需要提供标准的具体实现。不同的数据库厂商,需要针对这套接口提供不同实现,不同实现的组合,即为不同数据库的驱动,这也就是面向接口编程。
- 从开发程序员角度:不需要关注具体的数据库细节。
- 说明:
- 数据库的驱动——数据库厂商针对于
JDBC
这套接口,提供的具体实现类的结合。
- 数据库的驱动——数据库厂商针对于
1.5、JDBC程序编写步骤
补充:ODBC
(Open Database Connectivity,开放式数据库连接),是微软在Windows平台下推出的。使用者在程序中只需要调用ODBC API
,由 ODBC
驱动程序将调用转换成为对特定的数据库的调用请求。
由于jdk
中以及包含了java.sql
的相关组件,重要的是导入第三方的jar
包。这里我们使用的是Oracle公司提供的驱动。
Step1
:导入java.sql
包,获取java
中关于数据库操作的有关类
Step2
:获取不同厂商提供的驱动(Driver
接口)的实现类driver
对象
Step3
:调用driver
对象的连接方法connection
(需要填写url
地址,这里构建一个property
对象来保存填写的信息)