JDBC(Java Database Connectivity,Java 数据库连接),它提供了一种与平台没有关系的用于执行 SQL 语句的标准 API,可以很方便的实行对多种不同类型的关系型数据库进行统一操作,它由一组用 Java 语言编写的类和接口组成。
JDBC 提供了一套接口的标准,每个关系型数据库都会实现这套标准,所以对不同类型的关系型数据库操作的时候就像操作同一个关系型数据库一样,只要你学会了操作一种关系型数据库的使用,那么操作其它的关系型数据库就很方便了。
JDBC 驱动程序是对 JDBC 规范完整的实现,它为 Java 程序和数据库之间建立了一条通信渠道。这些规范需要各个厂商来实现。常见的 JDBC 驱动程序可以分为 4 类。
JDBC-ODBC 是 Sun 公司提供的一个标准的 JDBC 操作,直接利用微软的 ODBC 进行数据库的连接操作,这种操作的性能比较低而且需要在本地计算机先按照好 ODBC 驱动程序,所以一般情况下不建议使用这种方式进行数据库操作。
此类驱动程序也必须在本地计算机上先安装好特定的驱动程序(类似ODBC),然后通 PartialJavaJDBCDriver 的转换,把 Java 程序中使用的 JDBC API 转换成 NativeAPI,进而存取数据库。
将 JDBC 转换为与 DBMS 无关的网络协议,之后被某个服务器转换为一种 DBMS 协议。这种网络服务器中间件能够将纯 Java 客户端连接到多种不同的数据库上。
这种服务以来于网络,它其实将具体的识别数据库类型和对数据库操作交给来中间价类处理。
它不需要安装任何软件,所有存取数据库的操作都直接由 JDBC 驱动程序来完成,此类驱动程序能将 JDBC 调用转换成 DBMS 专用的网络协议,能够自动识别网络协议下的特殊数据库并能直接创建数据连接。
JDBC 的核心是为用户提供对数据库操作的 Java API 类库,让用户能够创建数据库连接、执行 SQL 语句、检索搜索结果集、访问数据库元数据等等。常用的接口和类有:
接口/类 | 描述 |
---|---|
java.sql.DriverManager | 管理 JDBC 驱动程序 |
java.sql.Connection | 与数据库建立连接,一个连接会产生一个会话。建立连接后方可对数据库进行操作 |
java.sql.Statement | 用于执行 sql 语句,并且得到执行后产生的结果 |
java.sql.PreparedStatement | 可以编译的 sql 语句对象,它可以被多次运行,提高执行效率。 |
java.sql.ResultSet | sql 语句检索结果集,用户通过结果集完成对数据库的访问 |
java.sql.CallableStatement | 执行 sql 的存储过程 |
java.sql.Driver | 数据库驱动程序接口 |
java.sql.SQLException | 对数据库操作时异常信息 |
要想让 Java 语言对数据库进行操作,我们必须要利用 JDBC 的驱动程序。它相当于一套规范,每个数据库厂商都会实现这套规范,让使用者在使用的时候按照一套模版进行使用,降低了学习成本。