前言
第一部分 基本的JDBC編程
第1章 JDBC簡介
1.1 軟件需求
1.2 配置
1.2.1 設置環(huán)境變量ORACLE_HOME
1.2.2 設置環(huán)境變量JAVA_HOME
1.2.3 設置環(huán)境變量PATH
1.2.4 設置環(huán)境變量CLASSPATH
1.2.5 在UNIX或Linux上設置環(huán)境變量LD_LIBRARY_PATH
1.3 你的第一個JDBC程序
1.3.1 示例程序:FirstExample.java
1.3.2 編譯并且運行FirstExample.java
1.4 Oracle JDeveloper
1.4.1 創(chuàng)建新的工作區(qū)和工程
1.4.2 將FirstExample.Java
1.4.3 將Oracle JDBC庫添加進工程并且編譯和運行FirstExample.java
1.4.4 調試FirstExample.java
第2章 數據庫與Oracle
2.1 關系型數據庫的概念
2.2 結構化查詢語言
2.2.1 SQL*Plus
2.2.2 運行store_user.sql腳本
2.2.3 數據定義語言(DDL)語句
2.2.4 數據操縱語言(DML)語句
2.3 Oracle PL/SQL
2.3.1 塊結構
2.3.2 變量和類型
2.3.3 條件邏輯
2.3.4 循環(huán)
2.3.5 游標
2.3.6 過程
2.3.7 函數
2.3.8 包
第3章 JDBC編程基礎
3.1 Oracle JDBC驅動程序
3.1.1 Thin驅動程序
3.1.2 OCI驅動程序
3.1.3 服務器端內部驅動程序
3.1.4 服務器端Thin驅動程序
3.2 導入JDBC包
3.3 注冊Oracle JDBC驅動程序
3.4 打開數據庫連接
3.4.1 使用DriverManager類的GetConnection()方法連接數據庫
3.4.2 使用Oracle數據源連接數據庫
3.5 創(chuàng)建JDBC Statement對象
3.6 從數據庫獲取行
3.6.1 步驟1:創(chuàng)建和填充ResultSet對象
3.6.2 步驟2:從ResultSet對象讀列值
3.6.3 步驟3:關閉ResultSet對象
3.7 向數據庫中添加行
3.8 修改數據庫中的行
3.9 從數據庫中刪除行
3.10 處理數值
3.11 處理數據庫null值
3.12 控制數據庫事務
3.13 執(zhí)行數據定義語言語句
3.14 處理異常
3.15 關閉JDBC對象
3.16 示例程序:BasicExamplel.java
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 使用可更新結果集更新或刪除行時發(fā)生的沖突
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 創(chuàng)建對象類型
6.2 使用對象類型定義列對象和對象表
6.3 在products表上執(zhí)行DML
6.3.1 在products表中插入行
6.3.2 從products表中選擇行
6.3.3 更新products表中的行
6.3.4 從products表中刪除行
6.4 在object_products表上執(zhí)行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表上執(zhí)行DML
6.5.1 在object_customers表中插入行
6.5.2 從object_customers表中選擇行
6.6 在purchases表上執(zhí)行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 創(chuàng)建varray類型
7.1.2 使用varray類型定義表中的列
7.1.3 用元素填充varray
7.1.4 選擇varray元素
7.1.5 修改varray元素
7.2 嵌套表
7.2.1 創(chuàng)建嵌套表類型
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存儲過程和觸發(fā)器
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 數據庫觸發(fā)器
第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 創(chuàng)建連接緩存
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 創(chuàng)建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和數據源