Java应用程序均通过JDBC API来访问数据库,JDBC Driver 用于连接一种具体的数据库产品,比如 MySQL、Oracle、SQLServer 等。
在我们拿到一个厂商提供的JDBC Driver 时,它会有一个类型,分别是 Type1、Type2、Type3、Type4 中的一种。这四种类型的驱动有什么不同呢,我们下面用一张图说明下。
Type1 驱动 (JDBC-ODBC bridge driver)
Type1 驱动通过 桥接ODBC 实现对数据库的访问。 所以要使用这种类型的驱动,在Java应用运行的机器上需要安装 数据库的原生驱动、数据库的ODBC驱动、并配置好ODBC数据源 Java应用的数据访问才能正常工作。
Type2 驱动 (Native API driver)
Type2 驱动通过 数据库原生驱动实现对数据库的访问,在Java应用运行的机器上需要安装 数据库的原生驱动。
Type3 驱动 (Network Protocol driver)
Type3 驱动的设计比较有趣,他通过一个中间件服务来访问数据库,在Java应用运行的机器上不需要安装任何软件即可通过网络访问中间件服务来完成对数据库的访问。
Type4 驱动 (Thin driver)
Type4 在JDBC 驱动中实现了所有的数据库访问功能,不需依赖其他原生驱动或者中间件,在Java应用运行的机器上不需要安装任何软件即可完成对数据库的访问
目前在实际应用中,我们碰到的JDBC 驱动 大部分是Type4 或者 Type2。 Type1 和 Type3的驱动很少使用。