首页>参考读物>计算机科学与技术>数据库

Oracle 9i JDBC 程序设计
作者 : (美)Jason Price
译者 : 马朝晖 等
丛书名 : Oracle技术丛书
出版日期 : 2003-01-01
ISBN : 7-111-11035-8
定价 : 45.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 452
开本 : 16开
原书名 : Oracle 9i JDBC Programming
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

本书介绍了如何使用Java数据库连接性(Java DataBase Connectivity,JDBC)开发访问Oracle 8i和Oracle 9i数据库程序。涉及了标准的JDBC和高性能Oracle扩展,oracle9iAS Containers for J2EE(OC4J)、JDeveloper、性能调整,以及如何开发J2EE组件和Java存储过程等。
  本书含有丰富的示例代码,对Java程序员开发数据库应用程序极有帮助。

图书前言

Java已经在企业开发方面取得了相当的地位。可以在三层企业系统的中间层和后端运行Java,也可以在浏览器中运行Java。Oracle数据库是应用最广泛的数据库之一,而且Oracle 9i Application Server(Oracle9iAS)正在占据越来越多的应用服务器市场份额。Java数据库连接性(Java Database Connectivity,JDBC)API可以用Java程序访问数据库,而JDBC是大多数主要数据库厂商(包括Oracle公司)支持的一种标准。
  本书将涉及以下内容:
  ·如何使用标准的JDBC以及Oracle公司提供的扩展(用于使用Oracle数据库特有的功能)。
  ·如何使用Oracle9iAS Containers for J2EE(OC4J)。OC4J能够运行Enterprise JavaBeans(EJB)、servlet和JavaServer Pages(JSP)等组件。它是Oracle9i Application Server(Oracle9iAS)的核心。
  ·如何使用Oracle JDeveloper。JDeveloper是用于开发和调试Java程序的图形化集成开发环境。
  ·如何开发Java存储过程,这可以取代使用Oracle专有的PL/SQL过程语言编写业务逻辑。
  ·如何使用关系型数据库以及如何使用Oracle数据库的对象—关系特性。
  如果你不了解Oracle数据库,也可以从本书中学到Oracle数据库的基础知识。你将看到大量用于讲解JDBC的编程示例,还有一些创建本书中使用的各个数据库模式的脚本。这些程序和数据库脚本已经针对Oracle8i数据库(8.1.6和8.1.7)和Oracle9i数据库(9.0.1)测试过。还有两个脚本演示了最新的一些Oracle9i数据库特性,它们只能针对Oracle9i数据库运行。第一部分“基本的JDBC编程”
  第1章“JDBC简介”。介绍在开发和运行包含JDBC语句的Java程序之前需要安装和配置的软件。其中包含一个使用JDBC执行简单的数据库操作的示例程序,并且将编译和运行这个示例程序。另外,我将介绍Oracle的JDeveloper工具,用这个图形化的集成开发环境可以开发、编译、运行和调试Java程序。
  第2章“数据库与Oracle”。研究数据库与Oracle。讲解用于访问数据库的结构化查询语言(Structured Query Lanauge,SQL)。该章建立一个用于存储在线商店数据的简单数据库。该章还介绍Oracle专有的过程式编程语言,PL/SQL。这种语言围绕SQL添加了一个编程层,可以使用PL/SQL在数据库中定义过程和函数。
  第3章“JDBC编程基础”。介绍用于连接Oracle数据库的各种Oracle JDBC驱动程序的细节,主要包括:导入JDBC包,注册Oracle JDBC驱动程序,打开数据库连接,以及执行SQL语句在数据库表中获取、添加、修改和删除行。
  第二部分“高级JDBC编程”
  第4章“高级结果集”。介绍如何在结果集中前后移动以及跳到任意行,还将学习结果集如何感知数据库中的修改。
  第5章“PL/SQL和JDBC”。介绍如何使用JDBC调用PL/SQL过程和函数。
  第6章“数据库对象”。Java和C++等面向对象编程语言允许定义类,这些类作为创建对象的“模板”使用。类定义属性和方法,属性用于存储对象的状态,方法用于模拟对象的行为。从Oracle8i数据库开始,已经可以在数据库中使用对象,而Oracle9i中的对象包含了更多的特性。在这一章中将学习如何创建和使用对象类型。
  第7章“集合”。Oracle8i数据库引入了两个新的称为集合(collection)的数据库类型:varray和嵌套表(nested table)。varray与Java中的数组类似,可以使用varray在数据库中存储一组有序的元素。嵌套表是嵌套在另一个表中的表。该章介绍如何创建和使用集合类型。
  第8章“大对象”。在Oracle8和所有后续版本中,引入了一种称为大对象(large object,LOB)的新类型。LOB可以用于存储二进制数据、字符数据和对外部文件的引用。LOB最多可以存储4GB的数据,可以满足当今的多媒体密集型应用程序和网站的需求。该章介绍如何使用LOB。
  第9章“高级事务控制”。当今的数据库可以处理许多个同时访问数据库的用户和程序,这些用户和程序可能在数据库中运行它们自己的事务。数据库软件必须能够满足所有并发事务的需要,并且维护数据库表中存储的行的完整性。可以使用JDBC控制事务与数据库中运行的其他事务之间的隔离级别,该章将介绍具体做法。
  第三部分“部署Java”
  第10章“Java存储过程和触发器”。Oracle9i和8i数据库集成了一个称为Oracle JVM的Java虚拟机。Oracle JVM可以在数据库中部署和运行Java程序,这些程序按照Oracle的官方说法称为Java存储过程(Java stored Procedure)。Java存储过程可以取代使用PL/SQL编写业务逻辑。触发器使你能够编写在发生某种事件时由数据库自动运行的代码。在这一章中将学习Java存储过程和触发器。
  第11章“Oracle9iAS Containers for J2EE(OC4J)”。可以使用Oracle9iAS Containers forJ2EE运行Java 2 Enterprise Edition(J2EE)组件。OC4J可以运行J2EE组件,如EnterpriseJavaBeans(EJB)、servlet和JavaServer Pages(JSP)。然后,可以在这些组件中使用JDBC语句访问数据库。这一章将介绍OC4J,以及如何使用OC4J部署和运行servlet、JSP和EJB。
  第四部分“性能”
  第12章“连接缓冲池和缓存”。介绍如何使用数据库连接缓冲池技术改进程序的性能。还将看到如何建立和使用缓存的数据库连接来进一步提高程序阶性能。
  第13章“性能调整”。介绍标准的JDBC性能调整技术以及Oracle性能扩展。通常,Ora—cle性能扩展提供了比标准JDBC更好阶性能。
 “附录”
  附录A“Oracle和Java Type映射”。包含三个表,其中记载了Oracle数据库类型与兼容的Java类型之间的映射。
  附录B“Oracle Java工具参考”。记载了本书中使用的Oracle Java工具的语法和命令行选项。
  附录C“JDBC接口和类精选参考”。提供了一部分JDBC接口和类的资料。
  附录D“JNDI和数据源”:Java命名和目录接口 (Java Naming and Directory Interface,JNDI)是一个为Java程序提供命名和目录功能的API。通过JDBC使用JNDI是非常有用的,因为这样可以注册(即绑定)数据源,然后在程序中查找这些数据源,而不必提供准确的数据库连接信息。这个附录将讲解如何对JDBC数据源使用JNDI。
  适合阅读本书的读者
  如果你是个Java程序员,而且需要编写访问Oracle数据库的程序,那么需要阅读本书。如果你是个技术部门的经理,而且需要全面了解JDBC,那么也会发现本书是极具价值的。本书要求读者具有基本的Java知识,但是不要求读者了解Oracle数据库,不了解数据库的读者可以在第2章中找到理解本书所需的数据库知识。当然,也不要求读者了解JDBC,因为本书将帮助你成为JDBC专家,包括教你如何使用Oracle JDBC扩展。
  如何获取本书中的示例
  本书的所有代码、脚本和其他文件都可以从Oracle出版社的网站下载(www.OraclePressBooks.com)。这些内容都包含在一个ZIP文件中。下载这个文件之后,使用WinZip打开它,并且从Actions菜单选择Extract选项。这将创建一个名为JDBC的目录,其中包含以下三个子目录:
  ·programs包含程序。
  ·sample_files 包含第8章中使用的示例文件。
  ·sql 包含用于创建数据库模式的SQL* Plus脚本。

作者简介

(美)Jason Price:暂无简介

译者简介

马朝晖 等:暂无简介

图书目录

3.17 准备好的SQL语句
3.18 Oracle JDBC扩展
3.18.1 oracle.sql包
3.18.2 oracle.jdbc包
3.18.3 示例程序:BasicExample3.java
第二部分 高级JDBC编程
第4章 高级结果集
4.1 可滚动结果集
4.1.1 在可滚动结果集中移动
4.1.2 在可滚动结果集中判断位置
4.1.3 示例程序:AdvResultSet Example1.java
4.2 可更新结果集
4.2.1 更新行
4.2.2 删除行
4.2.3 使用可更新结果集更新或删除行时发生的冲突
4.2.4 插入行
4.2.5 示例程序:AdvResultSetExample2.java
4.3 结果集可以"看见"哪些数据库修改
4.3.1 refreshRow()方法
4.3.2 修改何时可见
4.3.3 可滚动敏感结果集
4.3.4 示例程序:AdvResultSetExample4.java
4.4 元数据
第5章 PL/SQL和JDBC
5.1 调用PL/SQL过程
5.2 调用PL/SQL函数
5.3 示例程序:PLSQLExample 1.java
5.4 使用PL/SQL包和REF CURSOR
第6章 数据库对象
6.1 创建对象类型
6.2 使用对象类型定义列对象和对象表
6.3 在products表上执行DML
6.3.1 在products表中插入行
6.3.2 从products表中选择行
6.3.3 更新products表中的行
6.3.4 从products表中删除行
6.4 在object_products表上执行DML
6.4.1 在object_products表中插入行
6.4.2 从object_products表中选择行
6.4.3 更新object_products表中的行
6.4.4 从object_products表中删除行
6.5 在object_customers表上执行DML
6.5.1 在object_customers表中插入行
6.5.2 从object_customers表中选择行
6.6 在purchases表上执行DML
6.6.1 在Purchases表中插入行
6.6.2 从purchases表选择行
6.6.3 更新purchases表中的行
6.7 Orace9i数据库类型继承
6.8 使用弱类型的Java对象访问数据库对象
6.8.1 使用STRUCT插入数据库对象
6.8.2 将数据库对象选择进STRUCT
6.8.3 使用STRUCT更新数据库对象
6.8.4 删除对象
6.8.5 示例程序:ObjectExample1.java
6.8.6 弱类型对象引用
6.8.7 示例程序:ObjectExample2.java
6.9 强类型的接口和自定义类
6.10 使用JPublisher产生自定义类
6.10.1 从命令行运行JPublisher
6.10.2 从JDeveloper运行JPublisher
6.11 使用实现了SQLData接口的自定义类
6.11.1 SQLData实现的类型映射
6.11.2 使用自定义Java对象插入数据库对象
6.11.3 将数据库对象选择进自定义Java对象
6.11.4 使用自定义的Java对象更新数据库对象
6.11.5 示例程序:ObjectExample3.java
6.12 使用实现了ORAData接口的自定义类
6.12.1 使用JPublisher产生实现了ORAData接口的自定义类
6.12.2 使用自定义Java对象插入、选择和更新数据库对象
6.12. 3 示例程序:ObjectExample4.java
6.12.4 强类型的对象引用
第7章 集合
7.1  varray
7.1.1 创建varray类型
7.1.2 使用varray类型定义表中的列
7.1.3 用元素填充varray
7.1.4 选择varray元素
7.1.5 修改varray元素
7.2 嵌套表
7.2.1 创建嵌套表类型
7.2.2 使用嵌套表类型定义表中的列
7.2.3 用元素填充嵌套表
7.2.4 选择嵌套表元素
7.2.5 修改嵌套表元素
7.3 Oracle9i多级集合类型
7.4 使用弱类型对象访问集合
7.4.1 使用ARRAY插入集合
7.4.2 将集合选择进ARRAY
7.4.3 使用ARRAY更新集合
7.4.4 示例程序:CollectionExample1.java
7.5 使用强类型对象访问集合
7.5.1 使用JPublisher产生自定义类
7.5.2 使用自定义Java对象插入集合
7.5.3 将集合选择进自定义Java对象
7.5.4 使用自定义Java对象更新集合
7.5.5 示例程序:Collection-Example3.java
第8章 大对象
8.1 示例文件
8.2 大对象(LOB)
8.2.1 示例表
8.2.2 put、get和流方法
8.2.3 使用put方法写CLOB和BLOB列
8.2.4 使用流写CLOB和BLOB列
8.2.5 使用BFILE列存储外部文件的指针
8.2.6 示例程序:LobExample1.java
8.2.7 使用get方法读取CLOB和BLOB列
8.2.8 使用流读取CLOB和BLOB列
8.2.9 使用BFILE指针读取外部文件
8.2.10 示例文件:LobExample2.java
8.3 LONG和LONG RAW列
8.3.1 写LONG和LONG RAW列
8.3.2 示例程序:LongExample1.java
8.3.3 读取LONG和LONG RAW列
第9章 高级事务控制
9.1 ACID事务属性
9.2 事务隔离
9.3 使用JDBC的实际例子
9.4 示例程序:AdvTransExample1.java
9.5 分布式事务
第三部分 部署Java
第10章 Java存储过程和触发器
10.1 Oracle JVM体系结构
10.2 Java存储程序的特性
10.2.1 使用默认的数据库连接
10.2.2 输出
10.3 实际例子
10.4 从PL/SQL过程调用Java存储程序
10.5 从Java调用Java存储程序
10.6 使用JDeveloper装载和公布Java存储程序
10.7 数据库触发器
第11章 Oracle9iAS Containers forJ2EE(OC4J)
11.1 OC4J概述
11.2 安装OC4J
11.3 启动、重新启动和关闭OC4J
11.3.1 启动OC4J
11.3.2 重新启动OC4J
11.3.3 关闭OC4J
11.4 定义数据源
11.5 servlet
11.5.1 部署servlet
11.5.2 调用servlet
11.6 JavaServer Pages (JSP)
11.7 Enterprise JavaBeans(EJB)
11.7.1 会话bean示例
11.7.2 在独立的Java程序中使用bean
11.7.3 在servlet中使用bean
第四部分 性 能
第12章 连接缓冲池和缓存
12.1 连接缓冲池和缓存包
12.2 使用Thin驱动程序实现连接缓冲池
12.3 连接缓存
12.3.1 创建连接缓存
12.3.2 请求、使用和关闭连接实例
12.3.3 关闭连接缓存
12.3.4 示例程序:ConnectionCacheExample1.java
12.3.5 控制PooledConnection对象的数量
12.3.6 示例程序:ConnectionCacheExample2.java
12.4 使用OCI驱动程序实现连接缓冲池
12.4.1 创建OCI连接缓冲池
12.4.2 请求、使用和关闭连接实例
12.4.3 关闭OCI连接缓冲池
12.4.4 示例程序:ConnectionPool-Example2.java
第13章 性能调整
13.1 perf_test表
13.2 禁止自动提交模式
13.3 批处理
13.3.1 标准更新批处理
13.3.2 Oracle更新批处理
13.4 行预获取
13.4.1 标准行预获取
13.4.2 Oracle行预获取
13.5 定义结果集列的类型
13.5.1 defineColumnType()方法
13.5.2 定义列的长度
13.5.3 结构化的对象、对象引用和数组列
13.5.4 示例程序:DefineColumnTypeExample.java
13.6 语句缓存
13.6.1 启用语句缓存和设置语句缓存尺寸
13.6.2 语句缓存的类型
13.6.3 使用隐式语句缓存
13.6.4 使用显式语句缓存
13.7 调整SQL语句
13.7.1 使用WHERE子句限制行数
13.7.2 添加额外的索引
13.8 结束语
附  录
附录A Oracle和Java Type映射
附录B Oracle Java工具参考
附录C JDBC接口和类精选参考
附录D JNDI和数据源

教学资源推荐
作者: 何玉洁 张俊超
作者: 主编  魏善沛 何海江
作者: (美) Pang-Ning Tan , Michael Steinbach , Vipin Kumar  著
作者: [美] 翟成祥(Chengxiang Zhai) 肖恩·马森(Sean Massung) 著
参考读物推荐
作者: 章立民研究室
作者: [美]W. H. 因蒙(W. H. Inmon) 丹尼尔·林斯泰特(Daniel Linstedt) 玛丽· 莱文斯(Mary Levins) 著
作者: Michael Abbey等