Fork me on GitHub

JDBC简介

----------------siwuxie095

   

   

   

   

   

   

JDBC 概述

   

   

ODBC,即 Open Database Connectivity

   

   

在 ODBC 出现之前对 MySQL、Oracle、SQL Server 等数据库

进行访问是一件很麻烦的事情

   

因为这些数据库虽然都支持 SQL,但只是提供针对自己数据库的访问方法,

当用户访问不同的数据库时,就必须使用不同的 API 来编写相应的数据库

访问程序,而 ODBC 的出现解决了这一问题

   

   

ODBC 是数据库连接和访问的统一接口,即 针对不同的数据库,

开发人员使用的 API 都是一致的,通过 ODBC 访问不同数据库,

无需对数据库访问程序进行修改

   

   

   

JDBC,即 Java Database Connectivity

   

   

JDBC 是按照 ODBC 的模式来制定的,JDBC 是通用的、底层的、

支持 SQL 功能的 Java API,这使得 Java 程序员可以面对统一的

数据库编程界面,无须考虑数据库的差异性

   

   

   

   

JDBC 的组成

   

   

JDBC 提供了两种接口:

   

1)JDBC API:面向开发人员的 API

   

(2)JDBC Driver API:面向底层驱动程序开发商的 API

   

   

JDBC API 用来与数据库进行通信 和 操纵数据库中的数据,

JDBC Driver API 则用来实现与具体数据库的接口

   

这种 应用编程接口与特定驱动器分离 的特性,使开发人员可以

统一编程接口,针对不同的数据库进行编程

   

   

   

   

JDBC API

   

   

JDBC API 是一系列的应用编程接口,可以用来进行数据库连接,访问数据 ...

   

   

JDBC 的主要编程接口:

   

(1)DriverManager

   

DriverManager 是驱动程序管理类,用来装载驱动程序,并为创建数据库连接提供支持

   

   

(2)Connection

   

Connection 是一个接口,该接口用来连接某一指定的数据库

   

   

(3)Statement

   

Statement 是一个接口,该接口提供了执行 SQL 语句,获取查询结果的方法

   

Statement 有两个子接口:CallableStatement 和 PreparedStatement

   

「CallableStatement 是 PreparedStatement 的子接口,

PreparedStatement 是 Statement 的子接口」

   

   

(4)PreparedStatement

   

PreparedStatement 用于执行预编译的 SQL 语句

   

   

(5)ResultSet

   

ResultSet 提供了对结果集进行处理的方法

   

   

   

   

JDBC Driver API

   

   

JDBC Driver API 是面向驱动程序开发商的编程接口

   

   

JDBC 驱动程序主要有 4 种类型:

   

(1)JDBC-ODBC Bridge

   

该驱动程序会将 JDBC 调用转化为 ODBC 的调用,这种类型的驱动程序

需要安装本地代码库,即 依赖于本地的程序,便携性比较差

   

「即 将 JDBC 的调用全部委托给其他编程接口来实现」

   

   

2)部分基于 Java 技术的本地 API 驱动程序

   

这种类型的驱动程序部分实现基于 Java 语言,其他部分则委托给本地

数据库的客户端代码来实现,它依赖于本地的程序,便携性比较差

   

   

3)全部基于 Java 技术的本地 API 驱动程序

   

这种驱动程序的实现全部基于 Java 语言,它通常由某个中间件服务器提供。

   

这样,客户端程序就可以使用数据库无关的协议和中间件服务器进行通信,

中间件服务器再将客户端的 JDBC 调用,转发给数据库进行处理

   

   

4)全部基于 Java 技术的本地协议驱动程序

   

这种驱动程序的实现全部基于 Java 语言,该类型的驱动程序包含了

特定数据库的访问协议,使得客户端可以直接和数据库进行通信

   

   

   

   

   

   

   

   

【made by siwuxie095】

posted on 2017-04-11 16:45  siwuxie095  阅读(172)  评论(0编辑  收藏  举报

导航