JDBC简单介绍三

JDBC API既支持数据库访问的两层模型(C/S),同时也支持三层模型(B/S)。

在两层模型中,Java applet或应用程序将直接与数据库进行对话。这将需要一个JDBC驱动程序来与所访问的特定数据库管理系统进行通讯。用户的SQL语句被送往数据库中,而其结果将被送回给用户。数据库可以位于另一台计算机上,用户通过网络连接到上面。这就叫做客户机/服务器配置,其中用户的计算机为客户机,提供数据库的计算机为服务器。网络可以使Intranet(它可将公司职员连接起来),也可以是Internet。

在三层模型中,命令先是被发送到服务的”中间层“,然后由它将SQL语句发送给数据库。数据库对SQL语句进行处理并将结果送回到中间层,中间层再将结果送回给用户。MIS主管们发现三层模型很吸引人,因为可用中间层来控制对公司数据的访问和可作的更新的种类。中间层的另一个好处是,用户可以利用易于使用的高级API,而中间层将把它转换为相应的低级调用。最后,许多情况下三层结构可提供一些性能上的好处。

到目前为止,中间层都喜欢用C/C++来编写,这些语言执行速度较快。然而,随着最优化编译器(它把Java字节代码转换为高效的特定于机器的代码)的引入,用Java来实现中间层将变得越来越实际。这将是一个很大的进步,它使人们可以充分利用Java的诸多优点(如坚固、多线程和安全等特征)。JDBC对于从Java的中间层来访问数据库非常重要。

结构化查询语言(SQL)是访问关系数据库的标准语言。困难之处在于:虽然大多数的DBMS(数据库管理系统)对其基本功能都使用了标准形式的SQL,但他们却不符合最近为更高级的功能定义的标准SQL语法或语义。例如,并非所有的数据库都支持存储程序或外部链接,那些支持这一功能的数据库又相互不一致。人们希望SQL中真正标准的那部分能够进行扩展以包括越来越多的功能。但同时JDBC API又必须支持现有的SQL.

JDBC API 解决这个问题的一种方法是允许将任何查询字符串一直传到所涉及的DBMS驱动程序上。这意味着应用程序可以使用任意多的SQL功能,但它必须冒这样的风险:有可能在某些DBMS上出错。事实上,应用程序查询甚至不一定要是SQL,或者说它可以是个为特定的DBMS设计的SQL的专用派生物。

JDBC 处理SQL一致性问题的第二种方法是提供ODBC风格的转义子句。转义语法为几个常见的SQL分歧提供了一种彼岸准的JDBC语法。例如,对日期文字和已储存过程的调用都有转义语法。

对于复杂的应用程序,JDBC用第三种方法来处理SQL的一致性问题,他利用DatabaseMetaData接口来提供关于DBMS的描述性信息。从而使应用程序能适应每个DBMS的要求和功能。

由于JDBC API 将作为开发高级数据库访问工具和API的基础API,因此它还必须注意其所有上层建筑的一致性。”符合JDBC标准TM“代表用户可以来的JDBC功能的标准级别。要使用这一说明,驱动程序至少必须支持 ANSI SQL-2 Entry Level。驱动程序开发人员可用JDBC API 多带的测试工具包来确定他们的驱动程序是否符合这些标准。

你可能感兴趣的:(JDBC简单介绍三)