【php精品源码栏目提醒】:网学会员为广大网友收集整理了,第12章 操作数据库 - 软件工程,希望对大家有所帮助!
第 12 章 操作数据库教学目标: 本章讲述的是 Java 的 JDBC 技术。
JDBC 是 Java 访问数据库的程序接口,通过 JDBC,我们就能够以 SQL 语言对数据库进行操作。
本章首先简单介绍了SQL 语言,接着讲述的是 JDBC 的基本操作,包括连接数据库、结果集的获取和处理、错误处理等,最后本章还介绍了 JDBC 的一些高级操作,如使用PreparedStatement、事务控制和存储过程。
教学重点与难点: ◆ JDBC 技术规范 ◆ SQL 语言 ◆ Statement 和 PreparedStatement 的使用 ◆ 结果集的处理 数据库事务控制 存储过程12.1 JDBC 技术 JDBC 是一种用于执行 SQL 语句的 Java API。
它由一组用 Java 语言编写成的类和接口组成。
JDBC 为编程人员提供了一个标准的 API,使得他们能够用纯 Java API 来编写数据库应用程序。
12.1.1 JDBC 技术简介 JDBC 有以下的特点: JDBC 是 SQL 水平上的 API。
JDBC 是为 Java 语言定义的一个 SQL 调用级界面,其中心在于执行基本的 SQL 声明的取回结果。
在此基础上可以定义更高层次的 API。
与 SQL 的一致性。
结构化查询语言 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 ANSI SQL-2代表美国国家标准局 1992 年所采用的标准。
Entry Level 代表 SQL 功能的特定清单) 。
驱动程序开发人员可用 JDBC API 所带的测试工具包来确定他们的驱动程序是否符合这些标准。
12.1.2 JDBC 技术规范 现在我们来看看 JDBC 规范。
JDBC 规范历史上经历了几次重大的版本更新: JDBC 1.0:提供基本的功能,强调易用性。
JDBC 2.0:提供更多高级功能以及服务器端的处理能力。
JDBC 3.0:完善了 API,优化性能。
改进了连接池、语句缓冲机制,提供了向 Sun 连接器体系的迁移途径。
一些在 JDBC 2.0 规范中可选的功能,例如分布式事务,在 JDBC 3.0 规范中是必需的。
同时,JDBC 3.0 还定义了一些新的特性,例如在缓冲池中缓冲经过预处理的命令等。
最初的 Java 语言规范并没有规定 Java 程序如何访问数据库。
但不久之后,Sun 和它的合作者就开始填补这个空白。
早期的 Java 数据访问策略依赖于建立通向 ODBC(ODBC 是Microsoft 发起的数据源访问标准)的桥梁,结果就是 JDBC-ODBC 桥接驱动程序。
今天,JDBC 驱动程序总共有四种类型: DBC-ODBC 桥,再加上 ODBC 驱动程序;本机 API,部分是 Java 的驱动程序;面向数据库中间件的纯 Java 驱动程序;直接面向数据库的纯
Java驱动程序。
第三、四两类都是纯 Java 的驱动程序,因此,对于 Java 开发者来说,它们在性能、可移植性、功能等方面都有优势。
第一类 JDBC 驱动程序是 JDBC-ODBC 桥再加上一个 ODBC 驱动程序。
Sun 建议第一类驱动程序只用于原型开发,而不要用于正式的运行环境。
桥接驱动程序由 Sun 提供,它的目标是支持传统的数据库系统。
Sun 为该
软件提供关键问题的补丁,但不为该软件的最终用户提供支持。
一般地,桥接驱动程序用于已经在 ODBC 技术上投资的情形,例如已经投资了 Windows 应用服务器。
尽管 Sun 提供了 JDBC-ODBC 桥接驱动程序, 但由于 ODBC 会在客户端装载二进制代码和数据库客户端代码,这种技术不适用于高事务性的环境。
另外,第一类 JDBC 驱动程序不支持完整的 Java 命