基本介紹
內容簡介
圖書目錄
7.1 組件(Component)映射的單向關聯
7.1.1 數據準備
7.1.2 編寫Profile.java檔案
7.1.3 編寫User.java檔案
7.1.4 編寫User.hbm.xml檔案
7.1.5 編寫HibernateTest.java檔案
7.1.6 程式運行輸出
7.2 組件映射的雙向關聯
7.3 組件集合映射
7.3.1 數據準備
7.3.2 編寫Image.java檔案
7.3.3 編寫Product.java檔案
7.3.4 編寫Product.hbm.xml檔案
7.3.5 編寫HibernateTest.java檔案
7.3.6 組件集合映射的雙向關聯
第8章 映射多對一及一對多關聯關係
8.1 多對一單向關聯
8.1.1 數據準備
8.1.2 編寫Category.java與Category.hbm.xml 檔案
8.1.3 編寫Product.java與Product.hbm.xml檔案
8.1.4 編寫HibernateTest.java檔案
8.1.5 outer-join屬性
8.2 一對多單向關聯
8.2.1 數據準備
8.2.2 編寫Product.java與Product.hbm.xml檔案
8.2.3 編寫Category.java與Category.hbm.xml檔案
8.2.4 編寫HibernateTest.java檔案
8.3 級聯
8.4 一對多雙向關聯
8.4.1 數據準備
8.4.2 編寫Product.java與Product.hbm.xml檔案
8.4.3 編寫Category.java與Category.hbm.xml檔案
8.4.4 編寫HibernateTest.java檔案
8.5 控制反轉(Inverse)
第9章 映射一對一關聯關係
9.1 共享主鍵關聯
9.1.1 數據準備
9.1.2 編寫User.java與User.hbm.xml檔案
9.1.3 編寫Profile.java與Profile.hbm.xml檔案
9.1.4 編寫HibernateTest.java檔案
9.2 唯一外鍵關聯
9.2.1 準備數據
9.2.2 編寫Profile.java與Profile.hbm.xml 檔案
9.2.3 編寫User.java與User.hbm.xml檔案
9.2.4 編寫HibernateTest.java 檔案
第10章 映射多對多關聯關係
10.1 多對多單向關聯
10.1.1 準備數據
10.1.2 編寫Product.java與Product.hbm.xml檔案
10.1.3 編寫Order.java與Order.hbm.xml檔案
10.1.4 Order與Product的類圖
10.1.5 編寫HibernateTest.java檔案
10.2 多對多雙向關聯
10.2.1 準備數據
10.2.2 編寫Order.java與Order.hbm.xml 檔案
10.2.3 編寫Product.java與Product.hbm.xml檔案
10.2.4 Order與Product類的類圖
10.2.5 編寫HibernateTest.java檔案
10.3 在多對多關聯中使用組件集合映射
10.3.1 準備數據
10.3.2 編寫Product.java與Product.hbm.xml 檔案
10.3.3 編寫OrderItem.java檔案
10.3.4 編寫Order.java與Order.hbm.xml檔案
10.3.5 Product、Order與OrderItem的類圖
10.3.6 編寫HibernateTest.java檔案
10.4 分拆多對多關聯為兩個一對多關聯
10.4.1 數據準備
10.4.2 編寫Product.java與Product.hbm.xml檔案
10.4.3 編寫OrderItem.java與OrderItem.hbm.xml檔案
10.4.4 編寫Order.java與Order.hbm.xml檔案
10.4.5 編寫HibernateTest.java檔案
第11章 Criteria查詢
11.1 準備數據
11.1.1 創建guestbook、product和category表
11.1.2 在guestbook、product和category表中添加演示數據
11.1.3 實例檔案
11.2 Criteria的基本使用
11.2.1 Criteria接口的主要方法
11.2.2 Criterion接口
11.2.3 排序查詢結果
11.2.4 分頁顯示數據
11.2.5 查詢一條記錄
11.2.6 通過關聯對象建立查詢條件
11.2.7 Restrictions類
11.2.8 條件“或”方式組合查詢條件
11.2.9 使用原生SQL語句設定查詢條件
11.2.10 統計函式查詢
11.2.11 統計函式組合查詢條件
11.2.12 獲取多個統計函式的值
11.2.13 分組查詢
11.2.14 分組統計
11.2.15 為分組統計結果指定別名
11.2.16 投影查詢
11.2.17 使用Property類的forName()方法實現分組統計
11.3 使用DetachedCriteria對象實現離線查詢
11.4 根據示例對象查詢
第12章 HQL與Native SQL查詢
12.1 準備數據
12.2 Query接口
12.2.1 list()方法
12.2.2 iterate()方法
12.2.3 選擇list()和iterate()方法
12.2.4 使用setMaxResults()和setFirstResult()方法實現分頁
12.2.5 使用uniqueResult()方法讀取唯一記錄
12.3 HQL基礎
12.3.1 查詢所有持久化對象
12.3.2 投影查詢
12.3.3 使用別名
12.3.4 使用distinct關鍵字
12.3.5 限定查詢的條件
12.3.6 數據排序
12.3.7 使用參數占位符
12.3.8 使用統計函式
12.3.9 使用函式
12.4 HQL的批量更新
12.5 HQL中的連線查詢
12.5.1 使用交叉連線
12.5.2 使用內連線
12.5.3 使用左外連線
12.5.4 使用右外連線
12.5.5 迫切內連線
12.5.6 迫切左外連線
12.6 命名的HQL
12.7 使用SQL
12.7.1 SQL查詢
12.7.2 SQL更新記錄
12.7.3 SQL刪除記錄
12.7.4 命名的SQL
12.7.5 調用存儲過程
12.8 使用SQLQuery對象實現動態表映射
12.8.1 準備數據
12.8.2 編寫LogInfo.java檔案
12.8.3 編寫LogInfo.hbm.xml檔案
12.8.4 編寫HibernateTest.java檔案
12.9 在Hibernate中調用資料庫存儲過程
12.9.1 準備數據
12.9.2 調用資料庫存儲過程
12.10 在Hibernate中使用JDBC
12.10.1 準備數據
12.10.2 調用資料庫存儲過程
第13章 Hibernate的事務管理
13.1 資料庫事務
13.1.1 事務的特性
13.1.2 編程式與聲明式事務
13.1.3 在JDBC中使用事務
13.1.4 並發訪問數據可能引發的問題
13.1.5 事務隔離級別
13.2 Hibernate中的事務
13.2.1 在Hibernate中事務管理API
13.3 鎖
13.4 Hibernate中的鎖定模式
13.5 悲觀鎖
13.5.1 使用Query對象的setLockMode()方法設定悲觀鎖
13.5.2 使用Sessoin對象的lock()方法設定悲觀鎖
13.6 樂觀鎖
13.6.1 以版本號方式實現樂觀鎖
13.6.2 時間戳實現樂觀鎖
第14章 繼承映射
14.1 繼承關係層次一個表
14.1.1 創建delivery表
14.1.2 編寫Delivery.java檔案
14.1.3 編寫PostDelivery.java檔案
14.1.4 編寫ExpressDelivery.java檔案
14.1.5 編寫Delivery.hbm.xml檔案
14.1.6 編寫HibernateTest.java檔案
14.1.7 繼承關係層次一個表的優缺點
14.2 每個具體類一個表
14.2.1 創建post_delivery和express_delivery表
14.2.2 編寫Delivery.java檔案
14.2.3 編寫PostDelivery.java檔案
14.2.4 編寫ExpressDelivery.java檔案
14.2.5 編寫Delivery.hbm.xml檔案
14.2.6 編寫HibernateTest.java檔案
14.2.7 每個具體類一個表的優缺點
14.3 每個子類一個表
14.3.1 創建delivery、post_delivery和express_delivery表
14.3.2 編寫Delivery.java檔案
14.3.3 編寫PostDelivery.java檔案
14.3.4 編寫ExpressDelivery.java
14.3.5 編寫Delivery.hbm.xml檔案
14.3.6 編寫HibernateTest.java檔案
14.4 每個子類一個表的優缺點
14.5 小結
第15章 Hibernate過濾器
15.1 概念
15.2 配置
15.2.1 使用標籤定義過濾器
15.2.2 使用標籤聲明使用過濾器
15.3 調用Hibernate過濾器
15.3.1 Session接口中與Filter對象有關的方法
15.3.2 調用Hibernate過濾器的示例
15.4 小結
第16章 數據攔截與事件監聽
16.1 攔截器
16.1.1 Interceptor接口的方法
16.1.2 使用攔截器實現審計日誌
16.2 Hibernate的事件監聽
16.2.1 套用Hibernate事件監聽器
16.2.2 使用監聽器實現審計日誌
16.2.3 事件監聽與攔截器的比較
第17章 Hibernate的快取
17.1 持久層快取的概念
17.1.1 持久層快取的級別
17.2 Hibernate的一級快取
17.2.1 一級快取的實現原理
17.2.2 管理一級快取
17.3 Hibernate的二級快取
17.3.1 二級快取的策略
17.3.2 套用EHCache作為二級快取
17.3.3 快取集合對象
17.3.4 管理二級快取
17.4 查詢快取
17.4.1 查詢快取的實現原理
17.4.2 使用查詢快取
17.5 套用memcached作為二級快取
17.5.1 memcached
17.5.2 Hibernate-memcached
17.5.3 在Hibernate套用中使用memcached
17.6 快取對get()、load()、list()和iterator()方法的影響
17.7 小結
第18章 Hibernate的性能最佳化
18.1 使用dynamic-insert與dynamic-update
18.1.1 套用標籤的dynamic-insert與dynamic-update屬性
18.2 延遲載入
18.2.1 持久化對象的延遲載入
18.2.2 集合對象的延遲載入
18.2.3 屬性的延遲載入
18.2.4 解決org.hibernate.LazyInitializationException違例問題
18.3 集合對象的抓取策略
18.3.1 查詢抓取
18.3.2 子查詢抓取
18.3.3 連線查詢抓取
18.3.4 批量抓取
18.3.5 Hibernate的“1+N”問題
第19章 Hibernate Annotations組件
19.1 下載Hibernate Annotations組件
19.2 使用Annotations實現一對多雙向關聯映射
19.2.1 準備數據
19.2.2 在當前項目中添加Hibernate Annotations類庫
19.2.3 編寫Product.java和Category.java檔案
19.2.4 編寫hibernate.cfg.xml檔案
19.2.5 編寫HibernateTest.java檔案
19.3 Hibernate Annotations組件核心註解
19.3.1 註解屬性或者方法
19.3.2 Hibernate Annotations組件核心註解
19.3.3 註解VS映射檔案
19.4 Hibernate EntityManager
19.4.1 Java Persistence API
19.4.2 下載Hibernate EntityManager
19.4.3 套用Hibernate EntityManager
第20章 Hibernate Search組件
20.1 搜尋引擎
20.1.1 全文檢索引擎
20.1.2 目錄索引搜尋引擎
20.1.3 元搜尋引擎
20.2 Lucene
20.3 Hibernate Search組件
20.3.1 Hibernate Search組件的特點
20.3.2 使用Hibernate Search組件
20.4 使用Luke工具查看索引數據
20.5 中文分詞
20.5.1 概念
20.5.2 中文分詞的基本機制
20.5.3 Hibernate Search使用第三方中文分詞組件
第21章 Hibernate與Struts 2
21.1 Struts 2框架
21.1.1 Struts 2框架的特點
21.1.2 下載Struts 2
21.2 編寫第1個Struts 2程式
21.2.1 新建Web項目添加Struts類庫
21.2.2 修改web.xml檔案配置Struts2的過濾器
21.2.3 編寫login.jsp檔案
21.2.4 編寫LoginAction.java檔案
21.2.5 編寫loginResult.jsp檔案
21.2.6 編寫struts.xml檔案
21.2.7 項目部署後的運行效果
21.3 Struts 2的內部結構
21.3.1 Struts 2的處理流程
21.4 網路留言本V2.2
21.4.1 新建guestbookv2.2項目
21.4.2 所需檔案列表
21.4.3 編寫GuestbookAction.java檔案
21.4.4 編寫AdminAction.java檔案
21.4.5 編寫struts.xml檔案
21.4.6 修改web.xml檔案
21.4.7 修改addMessage.jsp檔案
21.4.8 修改login.jsp檔案
21.4.9 部署運行項目
第22章 Hibernate與Spring Framework
22.1 Spring簡介
22.1.1 Spring的子模組
22.1.2 下載Spring
22.2 IoC容器
22.2.1 容器的概念
22.2.2 IoC設計模式
22.2.3 Spring的IoC容器
22.2.4 使用Spring IoC容器示例
22.3 Spring AOP
22.3.1 OOP的不足
22.3.2 AOP技術
22.3.3 Spring AOP
22.3.4 AOP的專有名詞
22.3.5 Spring AOP中的常用通知類型
22.3.6 使用AspectJ 5的註解實現Spring AOP
22.3.7 AspectJ的切入點表達式語法
22.4 Spring對Hibernate的支持
22.4.1 簡化獲取SessionFactory對象
22.4.2 HibernateTemplate類
22.4.3 HibernateDaoSupport類
22.4.4 Spring對事務的支持
22.4.5 聲明式事務的參數定義
22.4.6 使用Spring註解管理事務的示例
22.5 Guestbook v2.3版
22.5.1 新建Guestbookv2.3項目
22.5.2 檔案列表
22.5.3 修改web.xml檔案
22.5.4 修改DAO實現類
22.5.5 修改Servlet檔案
22.5.6 編寫ApplicationContext.xml
22.5.7 項目運行輸出
22.6 小結
第23章 KH網路部落格系統
23.1 系統需求分析
23.1.1 確定用戶
23.1.2 系統功能
23.2 系統設計
23.2.1 系統結構設計
23.2.2 資料庫設計
23.2.3 設計域模型
23.2.4 持久層設計
23.2.5 業務邏輯層設計
23.2.6 表現層的設計
23.2.7 Action類設計
23.2.8 許可權控制設計
23.2.9 分頁設計
23.2.10 數據校驗設計
23.2.11 訂閱部落格功能設計
23.2.12 設定開發環境
23.2.13 Java包名與組織結構設計
23.3 編碼實現
23.3.1 創建項目
23.3.2 域模型代碼
23.3.3 持久層的相關代碼
23.3.4 業務邏輯層的相關代碼
23.3.5 表現層的相關代碼
23.4 部署運行KH網路部落格系統
23.5 小結