JDBC专题介绍(3)
3. 接口概貌
接口分为两个层次,一个是面向程序开发人员的JDBC API。另外一个是底层的JDBC Driver API。
3. 1. JDBC API
JDBC API 被描述成为彝族抽象的Java接口,似的应用程序远可以对某个数据库打开连接,执行SQL语句并且处理结果。最重要的接口是:
* java.sql.DriverManager 处理驱动的调入并且对产生新的数据库连接提供支持。
* java.sql.Connection 代表对特定数据库的连接。
* java.sql.Statement 代表一个特定的容器,来对一个特定的数据库执行SQL语句。
* java.sql.ResultSet 控制对一个特定语句的行数据的存取。
其中java.sql.Statement又有两个子类型:
1. java.sql.PreparedStatement 用于执行预编译的SQL语句。
2. java.sql.CallableStatement 用于执行对一个数据库内嵌过程的调用。
下面的章节对JDBC是如何运行的提供了更多描述,整个定义见第13章。另外第15章描述了系统如果获取数据库的元数据信息。
3. 2. JDBC Driver API
java.sql.Driver在第9章有完整的定义了.大部分JDBC驱动只需要完成这些JDBC API所定义的抽象类就可以了。特别地,所有的driver必须提供对java.sql.Connection, java.sql. State-ment, java.sql.Prepared-Statement, and java.sql.ResultSet的实现。如果目标DBMS提供有OUT参数的内嵌过程,那么还必须提供java.sql.CallableStatement 接口。 每个database driver必须提供一个类:java.sql.Driver以使得系统可以由 java.sql.DriverManager来管理。
一个显然的driver是在ODBC之上提供对JDBC的实现,从而提供与ODBC接口的JDBC-ODBC 桥,就象前面的图所显示的.由于JDBC放在ODBC之后,所以实现起来简单而且高效。
另外一个有用的驱动直接接触数据库无关的网络协议。发布一个协议允许多个服务器实现的方法,例如在ODBC或者特定的DBMS上(尽管已经有了一些使用固定协议的产品,但是我们不打算对它们实现标准化。),是可取的。
4. JDBC使用场合
Before looking at specifics of the JDBC API, an understanding of typical use scenarios is help-ful. There are two common scenarios that must be treated differently for our purposes: applets and applications.
在看JDBC API之前了解一下典型的使用场合是有帮助的。通常有两种情形必须分别对待:applet和application.
4. 1. Applet
目前Java使用的最多的从网络中下载的applet,它们作为web文件的一个部分。当中有数据库存取applet和能够使用JDBC来接触数据库的applet。例如,一个用户可能下载一个显示股票历史价格图的applet。这个applet通过internet来从关系数据库中获得股票历史价格。
最一般的情况里面,对applet的使用是通过不可靠的边界的。例如从另外一个公司或者Internet上获得这些applet。于是称这个情况为"Internet"场合。然而applet也可能通过局域网下载。在这个情况里面,客户机的安全都还是一个问题。
典型的applet在几个方面与传统的数据库应用程序有所不同:
1). 不可靠的applet被严格地限制在他们被允许执行的的操作上。特别地,不允许他们存取本地的文件,切不允许他们对任意的数据库建立网络连接。
2). 就标识和连接网上数据库来说,Internet环境里面的applet面临新的问题。
3). 当数据库可能与你相隔万里的时候,效率的考虑也有所不同了。与局域网相比,Internet上数据库applet可能会碰到十分不同的反应时间。
标签: