第I部分 针对Oracle开发人员的Java基础知识
第1章 开始
1.1 建立
1.1.1 软件要求
1.1.2 建立测试模式
1.1.3 定制SQL*Plus
1.1.4 有用的批处理文件
1.2 Java体系结构
1.3 Oracle Java服务器平台
1.3.1 测试允许使用Java的数据库
1.3.2 安装Oracle Java Server Platform
1.4 在数据库中运行Java程序
1.4.1 在数据库外编译Java
1.4.2 把Java置于数据库中
1.5 小结
第2章 Java类和对象
2.1 创建并使用类和对象
2.1.1 实例化对象
2.1.2 实例变量
2.1.3 静态变量
2.1.4 常量
2.1.5 实例方法
2.1.6 静态方法
2.1.7 重载方法
2.1.8 this引用
2.2 继承
2.2.1 继承的宽度与深度
2.2.2 重写方法
2.2.3 super关键字
2.2.4 阴影变量
2.2.5 抽象类
2.2.6 接口
2.3 包
2.4 public、private、protected关键字
2.5 异常
2.6 核心Java类
2.7 小结
第3章 在PL/SQL和Java中使用对象
3.1 过程方法:PL/SQL账户包
3.2 OO方法:账户Java类
3.3 Java中的构造函数
3.4 在Java和PL/SQL中建立变量
3.5 定制和抽象数据类型
3.6 传递参数和返回值
3.7 从PL/SQL调用Java
3.8 比较Java类和PL/SQL包
3.8.1 Java类
3.8.2 PL/SQL包
3.9 比较Java方法和PL/SQL过程
3.9.1 Java方法
3.9.2 PL/SQL过程
3.10 PL/SQL和Java中的面向对象特性
3.10.1 Java类与对象类型
3.10.2 为什么要使用对象
3.10.3 使用Java的继承
3.10.4 Oracle 9i中使用对象类型的继承
3.11 小结
第II部分 JDBC和SQLJ
第4章 通过JDBC连接到Oracle
4.1 JDBC基础
4.1.1 探讨JDBC API
4.1.2 JDBC版本
4.2 JDBC的工作原理
4.3 JDBC驱动程序
4.3.1 驱动程序类型
4.3.2 Oracle JDBC驱动程序
4.3.3 选择正确的驱动程序
4.4 连接到Oracle
4.5 Oracle JDBC连接
4.5.1 加载驱动程序
4.5.2 建立连接
4.5.3 JDBC URL
4.6 基本JDBC应用程序
4.7 常见问题的解决方案
4.7.1 NoClassDefFoundError
4.7.2 网络适配器不能建立连接
4.7.3 Io异常:拒绝连接
4.7.4 Io异常:连接串格式无效
4.7.5 Oracle 01017:用户名/密码无效
4.8 服务器端内部驱动程序
4.8.1 使用KPRB驱动程序
4.8.2 DBConnectionInternal类
4.9 小结
第5章 使用JDBC
5.1 JDBC API中的其他内容
5.2 主要JDBC接口概览
5.2.1 Connection接口
5.2.2 Statement接口
5.2.3 ResultSet接口
5.2.4 PreparedStatement接口
5.2.5 CallableStatement接口
5.2.6 其他元数据接口
5.3 多重提取
5.3.1 标准JDBC多重提取
5.3.2 Oracle多重提取
5.3.3 多重提取小结
5.4 定义列类型
5.5 事务
5.6 运行速度更快的代码:更新批操作
5.6.1 标准JDBC更新批操作
5.6.2 Oracle更新批操作
5.6.3 更新批操作小结
5.7 性能设计
5.8 小结
第6章 处理异常
6.1 异常基础知识
6.1.1 Exception子类
6.1.2 处理异常
6.1.3 未处理异常和PL/SQL
6.2 JDBC异常
6.2.1 SQLException
6.2.2 SQLWarning
6.3 捕捉到异常以后
6.4 小结
第7章 Oracle扩充类
7.1 JDBC扩充的好处
7.2 Oracle JDBC包
7.2.1 oracle.sql包
7.2.2 oracle.jdbc.driver包
7.3 STRUCT和ARRAY数据类型
7.3.1 使用STRUCT类
7.3.2 CustomDatum接口
7.4 oracle.sql.REF类
7.5 BLOB和CLOB类
7.6 oracle.sql.BFILE类
7.7 oracle.sql.CHAR类
7.8 oracle.sql.DATE类
7.9 oracle.sql.NUMBER类
7.10 小结
第8章 SQLJ程序设计
8.1 SQLJ简史
8.2 SQLJ转换过程
8.3 准备代码例子
8.4 简单的SELECT语句
8.4.1 转换SimpleSelect例子
8.4.2 SQLJ转换程序命令行选项
8.4.3 SQLJ转换过程的输出
8.4.4 工作原理
8.4.5 SQLJ与JDBC
8.5 用SQLJ操纵数据
8.5.1 简单插入应用程序
8.5.2 关于提交和回滚的另外几点想法
8.6 SQLJ声明
8.6.1 创建多个连接上下文
8.6.2 迭代器
8.7 使用SQLJ调用PL/SQL
8.7.1 SQLJ和基本PL/SQL存储过程
8.7.2 从PL/SQL函数返回值
8.8 SQLJ和Java存储过程
8.9 Oracle 9i中的新SQLJ特性
8.9.1 Oracle 9i、SQLJ和动态SQL
8.9.2 SQLJ中的可滚动迭代器
8.10 小结
第III部分 在数据库中使用Java
第9章 使用Oracle JVM
9.1 Oracle JVM的历史差别
9.2 JVM的内存使用
9.2.1 系统全局区域
9.2.2 Java池
9.3 JVM中的托管代码
9.3.1 调用者和定义者权限
9.3.2 使用CREATE JAVA和DROP JAVA SQL
9.3.3 DBMS JAVA包
9.3.4 使用loadjava和dropjava
9.4 调试及常见缺陷
9.4.1 控制调试输出
9.4.2 使用OracleLog类的JDBC跟踪
9.4.3 基于控制台的交互式JVM调试器
9.4.4 关于Oracle线程模型
9.5 小结
第10章 Java存储过程基础
10.1 为何使用Java存储过程
10.2 Java存储过程发展概述
10.3 执行无参数Java方法
10.3.1 加载Java类
10.3.2 写调用规范
10.3.3 在SQL*Plus中调用Java方法
10.4 带参数的Java方法
10.4.1 写Java代码
10.4.2 过程的发布
10.4.3 在SQL*Plus下调用函数
10.5 在SQL DML下调用Java存储过程
10.6 时间译码器Java存储过程
10.6.1 创建数据库表
10.6.2 TimeTranslator类
10.6.3 发布Java方法
10.6.4 写触发器
10.6.5 测试
10.7 电子邮件确认存储过程
10.8 小结
第11章 Oracle Java安全
11.1 安全学基础
11.2 Java安全模型
11.2.1 安全模型的发展
11.2.2 基本的Java安全体系结构
11.2.3 安全体系结构的详细内容
11.3 Oracle Java安全
11.3.1 概览
11.3.2 权限
11.3.3 安全角色
11.3.4 建立定制的安全权限
11.4 小结
第12章 使用Java实用程序
12.1 Java的角色定义
12.1.1 PL/SQL的优点
12.1.2 Java的优点
12.1.3 汇总
12.2 Java实用程序
12.3 生成图像
12.3.1 在Java中应用图像工作
12.3.2 使用纯Java AWT
12.3.3 生成图像
12.3.4 应用Graphics类绘制图形
12.3.5 图像编码
12.3.6 在Oracle中构建图像
12.3.7 从查询生成饼状图
12.4 从数据库发送电子邮件消息
12.4.1 UTL_SMTP包
12.4.2 JavaMail
12.4.3 使用Java发送带有BLOB附件的邮件
12.4 协同使用邮件和生成图像
12.5 小结
第13章 利用操作系统资源
13.1 资源处理的指导方针
13.1.1 安全
13.1.2 资源使用期限
13.2 Java和文件
13.2.1 UTL_FILE包的局限性
13.2.2 安全
13.2.3 Java文件API
13.2.4 I/O操作
13.2.5 在数据库中处理文件
13.3 运行OS命令和可执行文件
13.3.1 运行外部程序
13.3.2 执行操作系统命令
13.4 套接字
13.4.1 用PL/SQL处理套接字
13.4.2 套接字安全
13.4.3 流套接字(TCP套接字)
13.4.4 数据报套接字(UDP套接字)
13.4.5 套接字超时
13.4.6 使用多址传输套接字通知监听者
13.5 小结
第14章 协同使用PL/SQL和Java
14.1 文件传送应用程序
14.1.1 概述
14.1.2 什么是FTP
14.1.3 Java FTP传送
14.1.4 编写数据库FTP客户程序
14.1.5 PL/SQL作用
14.1.6 归档存取日志
14.2 数据压缩
14.2.1 Java压缩API
14.2.2 Java类
14.2.3 发布类
14.2.4 测试应用程序
14.2.5 索引和搜索压缩目录
14.3 小结
第IV部分 性能
第15章 Java应用程序性能
15.1 对象创建和性能
15.2 数据库中的Java内存使用
15.2.1 静态变量
15.2.2 度量内存使用
15.3 JDBC驱动程序比较
15.3.1 LOB写测试
15.3.2 LOB读测试
15.3.3 EMP测试
15.3.4 驱动程序比较小结
15.4 Oracle本机编译器(ncomp)
15.4.1 实时和提前
15.4.2 把类编译为本机代码
15.4.3 对本机编译要考虑的重要事实
15.4.4 编译何时没有帮助
15.5 小结
第16章 SQL优化和分析查询
16.1 SQL优化的第一步
16.1.1 Oracle SQL处理
16.1.2 基本优化策略
16.1.3 利用绑定变量重用语句
16.1.4 使用索引
16.1.5 SQL优化中第一步的总结
16.2 分析查询
16.2.1 EXPLAIN PLAN和AUTOTRACE
16.2.2 SQL Trace和TKPROF
16.3 高级SQL优化
16.3.1 Oracle SQL处理的细节
16.3.2 基于规则的优化器
16.3.3 基于成本的优化器
16.3.4 使用哪个优化器
16.4 编写有效的SQL
16.5 小结
第17章 PL/SQL和Java:SQL执行基准
17.1 比较PL/SQL和JDBC
17.1.1 Oracle JDBC驱动程序
17.1.2 基准测试设置和准备
17.1.3 客户端驱动程序基准测试
17.1.4 KPRB驱动程序基准测试
17.1.5 软分析的作用
17.2 数据转换的代价
17.2.1 设置和准备基准测试
17.2.2 使用JDBC
17.2.3 使用PL/SQL
17.2.4 结果
17.3 设计因素
17.4 小结
第V部分 附录
附录A 基本Java语法
A.1 基本Java程序结构
A.2 变量
A.3 原始数据类型
A.4 运算符
A.5 字符数据类型
A.6 字符串
A.7 控制结构
A.8 数组
附录B 有用的核心Java类
B.1 Java API规范
B.2 数学操作
B.3 格式化操作
B.4 集合API
B.5 输入和输出
B.6 属性
B.7 小结
附录C 日志API