JDBC
(Java Database Connectivity)
一、概述:
JDBC 从物理结构上说就是 Java 语言访问数据库的一套接口集合。从本质上来说就是调用者
(程序员)和实现者(数据库厂商)之间的协议。JDBC 的实现由数据库厂商以驱动程序的
形式提供。JDBC API 使得开发人员可以使用纯 Java 的方式来连接数据库,并进行操作。
ODBC:基于 C 语言的数据库访问接口。
JDBC 也就是 Java 版的 ODBC。
JDBC 的特性:高度的一致性、简单性(常用的接口只有 4、5 个)。
1.在 JDBC 中包括了两个包:java.sql 和 javax.sql。
① java.sql 基本功能。这个包中的类和接口主要针对基本的数据库编程服务,如生成连
接、执行语句以及准备语句和运行批处理查询等。同时也有一些高级的处理,
比如批处理更新、事务隔离和可滚动结果集等。
② javax.sql 扩展功能。它主要为数据库方面的高级操作提供了接口和类。如为连接管理、
分布式事务和旧有的连接提供了更好的抽象,它引入了容器管理的连接池、分
布式事务和行集等。
主要对象和接口:
注:除了标出的 Class,其它均为接口。
API
说明
java.sql.Connection
与特定数据库的连接(会话)。能够通过 getMetaData 方法获
得数据库提供的信息、所支持的 SQL 语法、存储过程和此连
接的功能等信息。代表了数据库。
java.sql.Driver
每个驱动程序类必需实现的接口,同时,每个数据库驱动程序
都应该提供一个实现 Driver 接口的类。
java.sql.DriverManager
(Class)
管理一组 JDBC 驱动程序的基本服务。作为初始化的一部分,
此接口会尝试加载在”jdbc.drivers”系统属性中引用的驱动程
序。只是一个辅助类,是工具。
java.sql.Statement
用于执行静态 SQL 语句并返回其生成结果的对象。
java.sql.PreparedStatement
继承 Statement 接口,表示预编译的 SQL 语句的对象,SQL 语
句被预编译并且存储在 PreparedStatement 对象中。然后可以使
用此对象高效地多次执行该语句。
java.sql.CallableStatement
用来访问数据库中的存储过程。它提供了一些方法来指定语句
所使用的输入/输出参数。
java.sql.ResultSet
指的是查询返回的数据库结果集。
java.sql.ResultSetMetaData
可用于获取关于 ResultSet对象中列的类型和属性信息的对象。
2、驱动程序按照工作方式分为四类:
1、 JDBC-ODBC bridge + ODBC 驱动
JDBC-ODBC bridge 桥驱动将 JDBC 调用翻译成 ODBC 调用,再由 ODBC 驱动翻译