JDBC介绍
2008-01-05 09:09:45 来源:WEB开发网核心提示:1. 介绍许多开发者和用户都在寻找java程序中访问数据库的便捷方法,由于Java是一个健壮,JDBC介绍,安全,易于使用的,尤其是ODBC,这些要求已经对这个规范的一些部分产生了影响,易于理解且可以从网络中自动download ,所以它成为开发数据库应用的一种良好的语言基础
1. 介绍
许多开发者和用户都在寻找java程序中访问数据库的便捷方 法。由于Java是一个健壮,安全,易于使用的,易于理解且可 以从网络中自动download ,所以它成为开发数据库应用的一种 良好的语言基础。它提供了C,C++,Smalltalk, BASIC, COBOL, and 4GLs的许多优点。许多公司已经开始在Java与DBMS的连接 方面做工作。 许多Java应用开发者都希望能够编写独立于特定DBMS的程 序,而我们也相信一个独立于DBMS的接口将使得与各种各样 DBMS连接变得最为便捷,开发更加迅速。所以我们认为定义 一个通用的SQL数据库存取框架,在各种各样的提供数据库连 接模块上提供统一的界面是十分有意义的。这使程序员可以面 对单一的数据库界面,使数据库无关的Java工具和产品成为可 能,使得数据库连接的开发者可以提供各种各样的连接方案。 我们看到我们定义一个通用低层的,支持基本SQL功能的Java DataBase Connectivity (JDBC)API的紧迫任务。 幸运的是我们不必从头设计一个SQL API。我们可以把我们的 工作建立在 X/Open SQL CLI (调用层接口)之上(它也是Microsoft's ODBC 的基础)。 我们主要任务是定义一个自然的Java接口来与X/Open CLI中定 义的基本的抽象层和概念连接。
JDBC API得到数据库开发厂商,连接开发厂商,ISV,以及应用 开发者的支持是十分重要的。我们相信把我们的工作建立在 ODBC抽象层的基础上将JDBC更加轻易得到大家的接受。而且 从技术上来说,ODBC是我们设计工作的一个良好基础。 因为ODBC是一个C语言接口,所以ODBC在Java中直接使用不 适当。从Java中来调用C代码在安全性,健壮性,实现的方便, 可移植性等等方面有许多不便。它使得Java在这些方面的许多 优点得不到发挥。 我们已经在短期里面实现了一个建立在ODBC上的API。长远来 看,我们可以通过其他方式提供实现。
1.1. 注重
我们非常感谢在数据库,数据库连接和数据库工具领域的许多 早期的工作者。他们为JDBC的早期草案提供了很好的意见和 建议。他们的工作对本规范起了不可估量的作用。
2. 目标与哲学
这个部分描述了指引这个API开发的目标以及哲学。
2.1. SQL 级 API
我们的主要目标是为Java定义一个“调用级”(call-level)的SQL 接口。着意味着我们主要的注重力集中在执行原原本本的SQL 语句并且取回结果。我们预计高层的API也将被定义,这些可 能将建立在基层的接口上。 这些高层接口包括象直接地、透明地把表里面的数据影射到 Java类里面,用语法树表示更加通用的查询,以及Java内嵌的 SQL语法。 我们希望大量的应用开发工具将使用我们的API。然而我们也 希望程序员能够使用我们的API,尤其是目前这样在Java里没 有任何其他手段(应该是说数据库访问手段)的情况下。
2.2. 遵循SQL 数据库系统支持各式各样的SQL语法和语义,它们相互之间在 比较高级的功能例如外部连接,内嵌过程等方面并不一致,尽 管我们能够盼望着随时间的推移这些部分的SQL可以获得标准 化。同时我们采取这样的态度与立场: In fact, an application query need not even be SQL, or it may be a specialized derivative of SQL, e.g. for document or image queries, designed for specific DBMSs. In order to pass JDBC compliance tests and to be called "JDBC COMPLIANT ? we require that a driver support at least ANSI SQL-2 Entry Level. This gives applications that want wide portability a guaranteed least common denominator. We believe ANSI SQL-2 Entry Level is reasonably powerful and is reasonably widely supported today. l JDBC答应查询表达式直接传递到底层的数据驱动,这样一 个程序可以获得尽量多的SQL功能,但是可能被DBMS拒 绝。事实上,一个程序的查询甚至可以不是SQL的,或者 是SQL的一个非凡演化,例如:为专门数据库设计的文本 或者图形查询。 l 为了通过JDBC兼容的测试,并且能够被称为JDBC兼容, 我们要求一个驱动至少支持ANSI SQL-2的标准。这使得那 些需要广泛移植性的程序获得一个最小的分母(这句话的原 文是:This gives applications that want wide portability a guaranteed least common denominator.)。我们相信ANSI SQL-2是足够强大的,并且是得到足够支持的。
2.3. JDBC必须可以建立在现有的数据库接口上
我们必须能够保证 JDBC SQL API 能够建立在普通的SQL API上,尤其是ODBC。这些要求已经对这个规范的一些部分 产生了影响,尤其是对传出参数(OUT parameter)和大数据块的 处理。
2.4. 必须保证这个接口与JAVA系统的其他部分保持一致
更多精彩
赞助商链接