- 写在前面的话
- 引言
- 第 1 章 对象入门
- 第 2 章 一切都是对象
- 第 3 章 控制程序流程
- 第 4 章 初始化和清除
- 第 5 章 隐藏实施过程
- 第 6 章 类再生
- 第 7 章 多形性
- 第 8 章 对象的容纳
- 第 9 章 违例差错控制
- 第 10 章 Java IO 系统
- 第 11 章 运行期类型鉴定
- 第 12 章 传递和返回对象
- 第 十三 章 创建窗口和程序片
- 第 14 章 多线程
- 第 15 章 网络编程
- 第 16 章 设计范式
- 第 17 章 项目
- 附录 A 使用非 JAVA 代码
- 附录 B 对比 C++和 Java
- 附录 C Java 编程规则
- 附录 D 性能
- 附录 E 关于垃圾收集的一些话
- 附录 F 推荐读物
15.7.3 JDBC API 为何如何复杂
阅览 JDBC 的联机帮助文档时,我们往往会产生畏难情绪。特别是 DatabaseMetaData 接口——与 Java 中看到的大多数接口相反,它的体积显得非常庞大——存在着数量众多的方法,比如 dataDefinitionCausesTransactionCommit(),getMaxColumnNameLength(),getMaxStatementLength(),storesMixedCaseQuotedIdentifiers(),supportsANSI92IntermediateSQL(),supportsLimitedOuterJoins() 等等。它们有这儿有什么意义吗?
正如早先指出的那样,数据库起初一直处于一种混乱状态。这主要是由于各种数据库应用提出的要求造成的,所以数据库工具显得非常“强大”——换言之,“庞大”。只是近几年才涌现出了 SQL 的通用语言(常用的还有其他许多数据库语言)。但即便象 SQL 这样的“标准”,也存在无数的变种,所以 JDBC 必须提供一个巨大的 DatabaseMetaData 接口,使我们的代码能真正利用当前要连接的一种“标准”SQL 数据库的能力。简言之,我们可编写出简单的、能移植的 SQL。但如果想优化代码的执行速度,那么为了适应不同数据库类型的特点,我们的编写代码的麻烦就大了。
当然,这并不是 Java 的缺陷。数据库产品之间的差异是我们和 JDBC 都要面对的一个现实。但是,如果能编写通用的查询,而不必太关心性能,那么事情就要简单得多。即使必须对性能作一番调整,只要知道最终面向的平台,也不必针对每一种情况都编写不同的优化代码。
在 Sun 发布的 Java 1.1 产品中,配套提供了一系列电子文档,其中有对 JDBC 更全面的介绍。此外,在由 Hamilton Cattel 和 Fisher 编著、Addison-Wesley 于 1997 年出版的《JDBC Database Access with Java》中,也提供了有关这一主题的许多有用资料。同时,书店里也经常出现一些有关 JDBC 的新书。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论