- 作者:zhaozj
- 发表时间:2020-12-23 10:55
- 来源:未知
如果你不了解JDBC驱动程序各个特性指标的具体含义,或者不了解到底哪些特性才值得重视,要从大量的驱动程序中选择最合适的一个并不容易。本文将助你一臂之力。 概述 说到数据库驱动程序,可以借用喜剧演员Rodney Dangerfield的一句话:“勿以等闲视之”。许多开发者认为驱动程序只是一些功能确定且无足轻重的工具,但事实上,驱动程序往往不是数据转换器或数据管道那么简单,它们的有些特性极其重要,既影响着应用的性能,也影响着应用的功能发挥。 Java开发者常常需要访问包括关系数据库在内的各种各样的数据源,JDBC驱动程序利用JDBC标准建立起了Java程序和数据源之间的桥梁。在JDBC出现之前,Java开发者为了构造带有数据库事务的应用,不得不沉陷于各种复杂的SQL语句。为了解决这个问题,Sun和它的合作者开发出了简化Java应用访问各种数据资源的JDBC API。 一进入JDBC驱动程序的世界,你很快会有一种眼花缭乱的感觉:可供选择的驱动程序实在太多了!虽然拥有选择的权利是一件好事,但是,举例来说,Sun网站上列出了160多个JDBC驱动程序,却没有详细说明究竟哪一个驱动程序更好,好在哪里?虽然根据说明,每一个驱动程序都支持某些重要的功能集,但还有一个问题有待回答:在一个具体的环境中,这些不同驱动程序支持的功能集到底有什么意义?这就是本文要讨论的问题。 我们来回顾一些JDBC标准和驱动程序的基础知识。首先,JDBC提供了完成下列基本任务的方法: ● 以URL或注册到JNDI名称服务的DataSource对象为基础,创建和管理数据源连接。因此,客户端不必进行复杂的配置。 ● 构造SQL命令,向数据源发送SQL命令。 ● 提取和处理返回给Java应用或Applet的结果集。 JDBC把Java数据库调用转换成访问表格式数据源的SQL语句。这些数据源既包括企业级的SQL数据库系统,例如Oracle、SQL Server、IBM UDB、Informix、Sybase等等,也有电子表格和扁平文件的数据源,如CSV、TSV和大型机数据文件。有了JDBC,我们就可以用单一的命令更新多个字段、在单个事务中处理多个数据源(表)。这意味着: ● 可以通过批量处理优化数据访问性能。 ● JDBC提供了访问不同数据库产品的公共框架,不管这些数据库系统本身是否具有互操作能力。 ● 为数据源提供了一个抽象层,当数据源类型发生变化时,修改数据源定义变得更加简单。 如果客户程序要调用的软件或中间层服务器要调用的中间件不属于开发者控制范围,JDBC提供了通过Internet访问数据源的能力。JDBC充分发挥了Java可移植、自包含的特性,避免了仅仅由于平台、环境的不同而为同一个应用提供多个版本的必要。