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的新书。