內容簡介
本書主要講解在複雜的企業級套用中通常採用的技術架構,以及如何通過最佳化提升開發效率。通過重點學習Oracle資料庫、Hibernate、Struts2等技術,大家就可以使用SSH技術加上Oracle資料庫,快速、高效地開發出企業級的應用程式。
圖書目錄
序言
前言
關於引用作品的著作權聲明
第 1章Oracle資料庫入門 1
任務1 安裝並配置Oracle資料庫伺服器 2
1.1.1 初識Oracle 2
1.1.2 Oracle體系結構 3
1.1.3 安裝Oracle 5
1.1.4 Windows環境下啟動Oracle資料庫 6
1.1.5 修改Oracle資料庫的配置檔案 7
1.1.6 使用Client工具連線資料庫 7
任務2 了解Oracle數據類型以及使用偽列實現分頁查詢 9
1.2.1 字元類型 10
1.2.2 數值類型 10
1.2.3 日期時間類型 11
1.2.4 LOB類型 12
1.2.5 使用偽列實現分頁查詢 13
任務3 使用SQL語句運算元據表 15
1.3.1 使用DDL運算元據表 15
1.3.2 使用DML運算元據表 17
1.3.3 使用TCL管理事務 21
1.3.4 使用DCL控制許可權 22
任務4 使用SQL操作符運算元據表 25
1.4.1 使用算術操作符編寫SQL語句 25
1.4.2 使用比較操作符編寫SQL語句 25
1.4.3 使用邏輯操作符編寫SQL語句 25
1.4.4 使用集合操作符編寫SQL語句 25
1.4.5 使用連線操作符編寫SQL語句 27
任務5使用SQL函式運算元據表 27
1.5.1 數據類型轉換 27
1.5.2 濾空函式 29
1.5.3 使用分析函式 29
本章總結 32
本章練習 33
第 2章 操作Oracle資料庫 35
任務1 創建表空間、自定義用戶管理 37
2.1.1 創建表空間 37
2.1.2 創建資料庫用戶 39
2.1.3 給用戶授予許可權 40
任務2 創建、訪問、修改、刪除、使用序列 42
2.2.1 創建序列的語法 42
2.2.2 訪問序列的方式 44
2.2.3 修改序列的命令 44
2.2.4 刪除序列的命令 45
2.2.5 序列套用場景 45
任務3 為員工表創建同義詞 46
2.3.1 同義詞的作用 46
2.3.2 同義詞的分類 46
2.3.3 刪除同義詞 48
任務4 創建員工表索引 49
2.4.1 認識索引 49
2.4.2 創建合適的索引 49
2.4.3 創建索引注意事項 51
2.4.4 使用命令刪除索引 51
2.4.5 重建索引套用場景 51
任務5 創建銷售信息分區表 52
2.5.1 認識分區表 52
2.5.2 Oracle提供的分區方法 53
任務6 為員工表創建視圖、創建資料庫鏈 57
2.6.1 認識視圖 57
2.6.2 創建資料庫鏈 58
任務7 從Oracle資料庫中導入導出數據 60
2.7.1 使用Oracle工具imp和exp導入導出數據 60
2.7.2 使用第三方工具PL/SQL Developer導入導出數據 62
任務8 最佳化SQL語句 64
2.8.1 查詢最佳化產生背景 64
2.8.2 如何編寫高性能的SQL語句 66
本章總結 67
本章練習 68
第3章 Hibernate初體驗 69
任務1 搭建Hibernate環境 70
3.1.1 Hibernate框架由來 70
3.1.2 為什麼選擇Hibernate框架 71
3.1.3 Hibernate與MyBatis的對比 72
3.1.4 搭建Hibernate環境 72
任務2 使用Hibernate API實現持久化操作 80
3.2.1 根據主鍵查詢 83
3.2.2 使用Hibernate實現CRUD 86
任務3 Hibernate中Java對象的生命周期 89
3.3.1 Hibernate中持久化對象的生命周期 89
3.3.2 使用Hibernate API轉換對象的狀態 90
任務4 Hibernate髒檢查及如何刷新快取 92
3.4.1 什麼是髒檢查 92
3.4.2 Session如何刷新快取 93
任務5 使用Hibernate API更新數據 93
本章總結 95
本章練習 96
第4章 HQL查詢語言 97
任務1 使用HQL語句運算元據庫 98
4.1.1 編寫HQL語句 98
4.1.2 使用Query對象執行HQL語句 100
任務2 在HQL語句中綁定參數 103
4.2.1 HQL的參數綁定 103
4.2.2 綁定不同數據類型的參數 105
4.2.3 Hibernate動態設定查詢參數的方式 108
4.2.4 使用Hibernate API之uniqueResult( )方法 111
任務3 實現分頁和投影查詢 113
4.3.1 Hibernate分頁查詢API 114
4.3.2 Hibernate投影查詢API 115
任務4 使用MyEclipse反向工程工具 117
本章總結 122
本章練習 122
第5章 配置Hibernate關聯映射 125
任務1 了解關聯關係 126
任務2 建立單向多對一關聯關係 127
5.2.1 配置單向多對一關聯關係 127
5.2.2 如何持久化多對一關聯關係的對象 129
任務3 建立雙向一對多關聯關係 132
5.3.1 配置雙向一對多關聯關係 133
5.3.2 雙向關聯的增刪改操作 135
任務4 建立多對多關聯關係 141
5.4.1 配置單向多對多關聯關係 142
5.4.2 配置雙向多對多關聯關係 144
任務5 使用MyEclipse反向工程工具映射關聯關係 146
任務6 配置查詢載入策略 147
5.6.1 配置類級別的查詢載入策略 148
5.6.2 配置一對多和多對多關聯的查詢載入策略 150
5.6.3 配置多對一關聯的查詢載入策略 152
5.6.4 如何配置Open Session In View模式 154
本章總結 156
本章練習 156
第6章 HQL連線查詢與Hibernate註解 159
任務1 使用HQL連線查詢 160
任務2 分組進行數據統計 163
6.2.1 HQL查詢語句中常用的聚合函式 163
6.2.2 編寫HQL分組查詢語句 165
任務3 使用子查詢 167
6.3.1 使用子查詢關鍵字進行查詢結果量化 167
6.3.2 操作集合的函式或屬性 170
任務4 最佳化查詢性能 171
任務5 使用註解配置持久化類和關聯關係 173
6.5.1 認識Hibernate註解 173
6.5.2 使用Hibernate註解配置持久化類 173
6.5.3 使用Hibernate註解配置關聯關係 177
6.5.4 使用MyEclipse反向工程工具生成註解映射 180
本章總結 181
本章練習 181
第7章Struts 2初體驗 183
任務1 Struts 2基礎 184
7.1.1 Struts 2的由來 184
7.1.2 下載Struts 2資源包 185
任務2 在項目中套用Struts 2 186
7.2.1 創建基於Struts 2框架的Web項目 186
7.2.2 編寫Struts 2的入門程式 187
7.2.3 使用Struts 2編寫登錄功能 193
任務3 使用Struts 2訪問Servlet API對象 196
7.3.1 使用解耦的方式訪問Servlet API 196
7.3.2 使用耦合的方式訪問Servlet API 199
任務4 使用Struts 2進行數據的校驗 200
任務5 使用Struts 2標籤 201
7.5.1 Struts 2標籤之UI標籤 201
7.5.2 Struts 2標籤之通用標籤 203
本章總結 207
本章練習 207
第8章Struts 2配置 209
任務1 解析Struts 2執行過程 210
8.1.1 分析編寫登錄程式步驟 210
8.1.2 Struts 2常用配置檔案介紹 214
任務2 配置Action 216
8.2.1 Action工作流程 217
8.2.2 使用method屬性配置Action 218
8.2.3 在Action中調用動態方法 219
8.2.4 在Action中使用通配符 220
8.2.5 配置默認的Action 221
任務3 配置Result結果類型 222
8.3.1 結果類型分類 222
8.3.2 配置動態結果 224
8.3.3 配置全局結果 225
本章總結 228
本章練習 228
第9章 OGNL表達式 229
任務1 初識OGNL 230
任務2 了解OGNL在框架中的作用 231
9.2.1 OGNL處理流入數據 231
9.2.2 OGNL處理流出數據 232
9.2.3 值棧的作用 232
任務3 理解數據類型轉換 233
9.3.1 類型轉換的原因 233
9.3.2 Struts 2提供的內置類型轉換器 234
9.3.3 編寫自定義類型轉換器 237
9.3.4 類型轉換錯誤的處理方法 239
任務4 使用OGNL表達式運算元據 241
9.4.1 OGNL表達式語言的強大作用 241
9.4.2 使用OGNL訪問ActionContext中的數據 243
9.4.3 使用OGNL查看ActionContext中的數據 245
9.4.4 OGNL表達式在Struts 2標籤中的套用 246
任務5 使用URL標籤和日期標籤簡化代碼開發 247
9.5.1 Struts 2標籤之URL標籤 247
9.5.2 Struts 2標籤之日期標籤 248
本章總結 250
本章練習 251
第 10章 Struts 2攔截器 253
任務1 分析Struts 2的架構 254
任務2 配置Struts 2攔截器 256
10.2.1 攔截器的作用 256
10.2.2 分析攔截器的工作原理 257
10.2.3 配置攔截器 259
10.2.4 Struts 2的內置攔截器 261
10.2.5 配置Struts 2內置攔截器棧 262
10.2.6 實現自定義攔截器並進行配置 263
任務3 使用Struts 2框架實現檔案上傳功能 266
10.3.1 下載上傳依賴包 266
10.3.2 使用commons-fileupload實現檔案上傳 266
10.3.3 使用commons-fileupload實現多檔案上傳 269
任務4 使用Struts 2框架實現檔案下載功能 270
10.4.1 配置stream結果類型 271
10.4.2 Struts 2實現檔案下載的步驟 271
本章總結 274
本章練習 274
第 11章 SSH框架整合 277
任務1 使用SSH搭建Web套用 278
11.1.1 認識SSH 278
11.1.2 分析整合SSH的方案 278
任務2 將Spring和Hibernate進行整合 280
11.2.1 配置SessionFactory的方式 280
11.2.2 使用HibernateTemplate API簡化DAO層 282
任務3 編寫業務層並添加聲明式事務管理 285
11.3.1 編寫Service業務層接口 285
11.3.2 添加聲明式事務管理 286
任務4 將Spring和Struts 2進行整合 288
任務5 修改web.xml配置 291
11.5.1 在web.xml中配置ContextLoaderListener 291
11.5.2 在web.xml中配置OpenSessionInViewFilter 291
任務6 使用HibernateCallback開發自定義功能 296
任務7 Spring和Struts 2整合進階 297
任務8 使用註解整合SSH框架 300
11.8.1 使用Hibernate註解配置ORM映射 300
11.8.2 使用Spring註解進行SSH框架整合 302
11.8.3 使用Spring註解配置聲明式事務管理 304
本章總結 305
本章練習 306
附錄 309
附錄1 安裝Oracle 309
附錄2 配置資料庫 313
附錄3 單行函式 320
附錄4 卸載資料庫 321
附錄5 創建資料庫連線 323