JDBC驱动类型

1.JDBC-ODBC Bridge Driver

SUN发布JDBC规范时,市场上可用的JDBC驱动程序并不多,但是已经逐渐成熟的ODBC方案使得通过ODBC驱动程序几乎可以连接所有类型的数据源。所以SUN发布了JDBC-ODBC的桥接驱动,利用现成的ODBC架构将JDBC调用转换为ODBC调用,避免了JDBC无驱动可用的窘境,如图2-6所示。但是,由于桥接的限制,并非所有功能都能直接转换并正常调用,而多层调用转换对性能也有一定的影响,除非没有其他解决方案,否则不采用桥接架构。

2.Native API Driver

这类驱动程序会直接调用数据库提供的原生链接库或客户端,因为没有中间过程,访问速度通常表现良好,如图2-7所示。但是驱动程序与数据库和平台绑定无法达到JDBC跨平台的基本目的。在JDBC规范中也是不被推荐的选择。

 

 

 

3.JDBC-Net Driver

这类驱动程序会将JDBC调用转换为独立于数据库的协议,然后通过特定的中间组件或服务器转换为数据库通信协议,主要目的是获得更好的架构灵活性,如图2-8所示。例如,更换数据库时可以通过更换中间组件实现。数据库厂商开发的驱动通常还提供额外的功能,例如高级安全特性等,而且通过中间服务器转换会对性能有一定影响。JDBC领域这种类型驱动并不常见,而微软的ADO.NET是这种架构的典型。

4.Native Protocol Driver

这是最常见的驱动程序类型,开发中使用的驱动包基本都属于此类,通常由数据库厂商直接提供,例如mysql-connector-java,驱动程序把JDBC调用转换为数据库特定的网络通信协议,如图2-9所示。使用网络通信,驱动程序可以纯Java实现,支持跨平台部署,性能也较好。

 

 

 注意:摘要于《mybatis3源码深度解析》

posted @   围观的小妖g  阅读(67)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示