Java教程-JDBC驱动程序

JDBC驱动程序
JDBC驱动程序是一种软件组件,使Java应用程序能够与数据库进行交互。有4种类型的JDBC驱动程序:JDBC-ODBC桥接驱动程序、本机API驱动程序(部分Java驱动程序)、网络协议驱动程序(完全Java驱动程序)和Thin驱动程序(完全Java驱动程序)。
1) JDBC-ODBC桥接驱动程序
JDBC-ODBC桥接驱动程序使用ODBC驱动程序连接到数据库。JDBC-ODBC桥接驱动程序将JDBC方法调用转换为ODBC函数调用。由于Thin驱动程序的存在,现在不推荐使用JDBC-ODBC桥接驱动程序。
在Java 8中,已经移除了JDBC-ODBC桥接。
自Java 8开始,Oracle不再支持JDBC-ODBC桥接。Oracle建议您使用由数据库供应商提供的JDBC驱动程序,而不是JDBC-ODBC桥接。
优点:
- 使用简单。
- 可以轻松连接到任何数据库。
缺点:
- 性能下降,因为JDBC方法调用被转换为ODBC函数调用。
- 客户端机器上需要安装ODBC驱动程序。
2) 本机API驱动程序
本机API驱动程序使用数据库的客户端库。驱动程序将JDBC方法调用转换为数据库API的本机调用。它并非完全使用Java编写。
优点:
- 性能比JDBC-ODBC桥接驱动程序提升。
缺点:
- 每个客户端机器上都需要安装本机驱动程序。
- 客户端机器上需要安装供应商的客户端库。
3) 网络协议驱动程序
网络协议驱动程序使用中间件(应用服务器),将JDBC调用直接或间接地转换为特定供应商的数据库协议。它完全使用Java编写。
优点:
- 不需要客户端库,因为应用服务器可以执行许多任务,如审计、负载平衡、日志记录等。
缺点:
- 客户端机器需要网络支持。
- 需要在中间层中完成特定于数据库的编码。
- 网络协议驱动程序的维护成本较高,因为需要在中间层中完成特定于数据库的编码。
4) Thin驱动程序
Thin驱动程序将JDBC调用直接转换为特定供应商的数据库协议。这就是为什么它被称为Thin驱动程序。它完全使用Java语言编写。
优点:
- 比其他驱动程序性能更好。
- 不需要客户端或服务器端软件。
缺点:
- 驱动程序依赖于数据库。