动态Web数据库技术——基于JSP和XML技术实现4JDBC.ppt

动态Web数据库技术——基于JSP和XML技术实现4JDBC.ppt

动态Web数据库技术——基于JSP和XML技术实现4JDBC

山东师范大学信息管理学院 王红 王红 4.1 JDBC技术概述 4.1.1 什么是 JDBC JDBC是一种用于执行SQL语句的Java API。 由一组用Java编程语言编写的类和接口组成。 由java.sql.*和javax.sql.*两个包中的一些类和接口组成 。 为数据库开发人员提供了一个标准的API,使他们能够用纯Java API来编写数据库应用程序。 将 Java和JDBC结合起来将使程序员只须写一遍程序就可让它可向任何数据库发送SQL语句,可在任何平台上运行 。 4.1.1 什么是 JDBC 特性 不限制传递到底层 DBMS 驱动程序的查询类型 JDBC 机制易于理解和使用 提供与 Java 系统的其他部分保持一致的 Java 接口 JDBC 可以在常见 SQL 层 API 的顶层实现 4.1.2 JDBC的用途 JDBC 是一个紧凑、简单的软件层 JDBC即是个低级接口又是一个高级接口 ,高级接口使用的是一种更易理解和更为方便的API,这种API在幕后被转换为诸如JDBC这样的低级接口 JDBC API 定义应用程序如何: 打开连接 与数据库通信 执行 SQL 语句 检索查询结果 4.1.2 JDBC的用途 如下所示: //建立与数据库的连接 Connection con = DriverManager.getConnection (jdbc:odbc:wombat, login, password); //发送语句 Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(SELECT a, b, c FROM Table1); //下面循环处理结果 while (rs.next()) System.out.println(rs.getString(a) + +rs.getString(b) + +rs.getString(c)); 4.1.3 JDBC与ODBC和其它API的比较 Java 可以使用ODBC,但最好是在JDBC的帮助下以JDBC-ODBC桥的形式使用 ODBC不适合直接在Java中使用,因为它使用C语言接口 从ODBC API按字面翻译到Java API是不可取的 ODBC很难学。它把简单和高级功能混在一起,而且即使对于简单的查询,其选项也极为复杂。相反,JDBC尽量保证简单功能的简便性,而同时在必要时允许使用高级功能 4.1.3 JDBC与ODBC和其它API的比较 完全用Java编写JDBC驱动程序则JDBC代码在所有Java平台上都可以自动安装、移植并保证安全性 JDBC建立在ODBC上而不是从零开始 JDBC保留了ODBC的基本设计特征 两种接口都基于X/Open SQL CLI(调用级接口) 它们之间最大的区别在于:JDBC以Java 风格与优点为基础并进行优化 4.1.4 两层模型和三层模型 JDBC 支持两种模型: 二层模型 Java applet/应用程序直接与数据库交互 被称为客户端/服务器配置 如图4-1所示 三层模型 使用中间层 可以在不同语言中实现中间层 如图4-2所示 4.1.4 两层模型和三层模型 4.1.5 SQL的一致性 虽然大多数的 DBMS对其基本功能都使用了标准形式的SQL,但它们却不完全符合标准SQL语法或语义 JDBC 在类 Java.SQL.Types 类中定义了一组通用 SQL 类型标识符,如下的类型表示不同数据库中的实数: static int DOUBLE static int FLOAT static int NUMERIC static int REAL 4.1.5 SQL的一致性 JDBC 处理 SQL 一致性问题方法: JDBC API 允许将任何查询字符串传递到底层 DBMS 驱动程序 提供内置功能,便于将包含转义序列的 SQL 查询转换为数据库可理解的格式 提供 DatabaseMetaData 接口,允许用户检索关于所使用的 DBMS 信息 4.1.5 SQL的一致性 DatabaseMetaData 接口的主要方法如下: int getDatabaseMajorVersion() String getDriverName() int getMaxStatementLength() ResultSet getTypeInfo() String getUserName() boolean isReadOnly() ResultSet getPrimaryKeys(String catalog, String schema, String table) 等 4.1.5 SQL的一致性 由于JD

文档评论(0)

1亿VIP精品文档

相关文档