10.1 JDBC基础


JDBC全称是Java Database Connectivity,即Java数据库连接,它是一种可以执行SQL语句的Java API。程序通过JDBC API连接到关系数据库,并使用结构化查询语言(SQL,数据库标准查询语言)来完成对数据库的查询、更新。
SQL结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

一、JDBC简介

通过使用JDBC,就可以使用同一种API访问不同的数据库系统。开发人员面向JDBC API编写应用程序,然后根据不同的数据库,使用不同的数据库驱动即可。
Java语言的各种跨平台特性,都采用了相似的结构,因为它们都需要让相同的程序在不同的平台上运行,所以都需要中间的转换程序(为实现Java程序的跨平台性,Java为不同的操作系统提供了不同的虚拟机)。同样为了实现JDBC程序跨平台,则需要不同的数据库厂商提供相应得驱动程序。
下图为JDBC驱动示意图:

正是通过JDBC驱动的转换,才使得用相同JDBC API编写程序,在不同的数据库上运行良好。Sun提供的JDBC可以完成以下三个基本工作:
1、建立与数据库的连接
2、执行SQL语句
3、获取SQL语句的执行结果

二、JDBC驱动程序

数据库驱动程序是JDBC程序和数据库之间的转换层,数据库驱动程序负责将JDBC调用映射成特定的数据库调用。
下图显示了JDBC访问的示意图

大部分数据库系统,例如Oracle和Sybase等,都有相应的JDBC驱动程序,当需要连接某个特定的数据库时,必须有相应的数据库驱动程序。
JDBC驱动程序有4中类型:
1、JDBC桥,这种驱动是最早实现的JDBC驱动程序,主要目的是为了快速推广JDBC。这种驱动将JDBC API映射到ODBC API。这种方式在Java 8已经被删除了。
2、直接将JDBC API映射成数据库特点的客户端API。这种驱动包含特定数据库的本地代码,用于访问特定数据库的客户端。
3、支持三层结构的JDBC的访问方式,主要用于Applet阶段,通过Applet访问数据库。
4、纯Java的,直接与数据库实例交互。这种驱动是智能的,它知道数据库使用的底层的协议。这种驱动是目前最流行的JDBC驱动。
通常建议选择第4种JDBC驱动,这种驱动避开了本地代码,减少了应用开发的复杂性,也减少了产生冲突和出错的可能。如果对性能有严格要求,则可以考虑第2种JDBC驱动,但使用这种驱动,则势必增加编码和维护的困难。

原文地址:https://www.cnblogs.com/weststar/p/12641070.html