《贯通 Hibernate开发》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:李刚编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:9787121062230
  • 页数:464 页
图书介绍:本书为Hibernate3学习必备书,逐步引领读者学习各个基础知识点的,进而开发出完整的系统。全书内容由浅入深,共15章,并辅以大量的实例说明,最后给出了一个完整的项目案例,包括系统分析与设计的相关指导。随书的配套光盘中含有全书所有实例,以及项目案例的源代码,供读者学习参考使用。本书供有一定的Java语言和关系数据库基础的程序员作为参考用书,也可供社会Hibernate技术培训班作为教材使用,对于缺乏项目实战经验的程序员来说可用于快速积累项目开发经验。

第1篇 Hibernate入门 2

第1章 对象关系映射基础 2

1.1 对象持久化 2

1.2 对象—关系映射 3

1.3 对象持久化的实现模式 4

1.3.1 主动域对象模式 4

1.3.2 CMP模式 5

1.3.3 JDO模式 5

1.4 感受ORM 6

1.4.1 JDBC操作数据库 6

1.4.2 Hibernate操作数据库 10

1.4.3 两种技术的比较 14

1.5 小结 15

1.6 习题 15

第2章 Hibernate简介 16

2.1 中间件 16

2.1.1 中间件的概念 16

2.1.2 中间件的分类 17

2.2 Hibernate简介 19

2.2.1 Hibernate3产品套件简介 20

2.2.2 Hibernate的核心接口 23

2.2.3 Hibernate3的新特性 25

2.2.4 Hibernate的发展趋势 26

2.3 其他持久层框架 26

2.4 小结 27

2.5 习题 27

第2篇 Hibernate开发快速上手 29

第3章 Hibernate的安装与配置 29

3.1 开发环境介绍 29

3.1.1 Eclipse 29

3.1.2 Tomcat 30

3.1.3 Microsoft SQL Server 31

3.1.4 本书的相关约定 32

3.2 开发环境的搭建 32

3.2.1 搭建开发平台 33

3.2.2 下载Hibernate 38

3.2.3 设置用户库 38

3.3 Hibernate配置 41

3.3.1 Hibernate配置文件 41

3.3.2 可编程的配置方式 45

3.3.3 可选的配置属性 46

3.3.4 日志配置 48

3.3.5 数据库连接池配置 48

3.4 小结 51

3.5 习题 51

第4章 第一个Hibernate程序 53

4.1 Hibernate基础文件讲解 53

4.1.1 Hibernate配置文件 53

4.1.2 数据库Schema 54

4.1.3 持久化类 54

4.1.4 映射文件 56

4.2 Hibernate工具简介 57

4.2.1 Middlegen-Hibernate 57

4.2.2 Hibernate-Extension之hbm2iava和class2hbm 62

4.2.3 Hibernate的内置工具hbm2dll 63

4.2.4 Hibernate工具包 65

4.2.5 基础文件的生成路线 69

4.2.6 Hibernate和Ant示例 70

4.3 Hello World应用程序 75

4.3.1 创建数据库表 75

4.3.2 创建Java工程 76

4.3.3 创建Hibernate基础文件 78

4.3.4 Hello World程序实现 81

4.4 小结 84

4.5 习题 84

第3篇 Hibernate应用开发 86

第5章 映射定义与映射类型 86

5.1 Hibernate的映射定义 86

5.1.1 XML文件头 87

5.1.2 hibernate-mapping根元素 88

5.1.3 class元素定义持久化类 91

5.1.4 id元素定义持久化标志符 93

5.1.5 generator子元素定义持久化标志符的生成策略 94

5.1.6 持久化标志符生成策略示例 96

5.1.7 composite-id元素映射复合主键 106

5.1.8 property元素定义持久化类的属性 110

5.1.9 其他元素 112

5.2 Hibernate的映射类型 112

5.2.1 Hibernate的内置基本映射类型 112

5.2.2 用户自定义映射类型 114

5.3 小结 118

5.4 习题 118

第6章 持久化对象 119

6.1 持久化类 119

6.2 Hibernate对象状态 121

6.2.1 瞬时(Transient)状态 121

6.2.2 持久(Persistent)状态 122

6.2.3 脱管(Detached)状态 122

6.2.4 状态转换关系 123

6.3 Session方法简介 124

6.3.1 save()方法 124

6.3.2 load()和get()方法 125

6.3.3 update()方法 125

6.3.4 saveOrUpdate()方法 126

6.3.5 delete()方法 126

6.3.6 其他方法 126

6.4 Session的缓存 127

6.5 持久化对象的级联操作 128

6.6 Hibernate的二级缓存 128

6.6.1 持久化层的缓存的范围 129

6.6.2 持久化层的缓存的并发访问策略 130

6.6.3 Hibernate的二级缓存 130

6.7 小结 131

6.8 习题 132

第7章 集合类映射 133

7.1 概述 133

7.1.1 Java集合类简介 134

7.1.2 Hibernate中的集合类映射 136

7.2 集合类映射 137

7.2.1 集合类映射的定义 137

7.2.2 综合示例 140

7.3 小结 156

7.4 习题 157

第8章 关联关系映射 158

8.1 基础知识 158

8.1.1 实体—关系模型 158

8.1.2 类之间的关系 159

8.2 关联关系映射 161

8.2.1 单向多对一关联 164

8.2.2 双向多对一关联 172

8.2.3 单向一对一关联 177

8.2.4 双向一对一关联 185

8.2.5 单向多对多关联 193

8.2.6 双向多对多关联 199

8.3 小结 203

8.4 习题 204

第9章 继承映射 205

9.1 概述 205

9.2 每个类分层结构一张表 206

9.3 每个子类一张表 209

9.4 每个具体类一张表 214

9.5 小结 217

9.6 习题 217

第10章 组件映射 218

10.1 概述 218

10.2 映射组件 220

10.3 映射组件集合 224

10.4 组件作为联合主键 228

10.5 小结 231

10.6 习题 231

第11章 HQL查询语言 232

11.1 select子句 232

11.2 from子句 234

11.3 关联与连接 235

11.3.1 标准SQL的连接查询 235

11.3.2 HQL的连接查询 237

11.4 where子句 237

11.5 order by子句 238

11.6 group by子句 238

11.7 子查询 239

11.8 批量的update和delete 239

11.9 其他 240

11.10 小结 241

11.11 习题 241

第12章 事务与并发 242

12.1 数据库的事务与并发 242

12.1.1 数据库事务 242

12.1.2 数据库并发产生的问题 243

12.1.3 数据库锁与封锁协议 246

12.1.4 数据库的死锁 248

12.1.5 数据库的事务隔离级别 248

12.2 Hibernate的事务范围 250

12.3 Hibernate的事务声明 251

12.4 乐观并发控制 252

12.4.1 应用程序级别的手工版本检查 253

12.4.2 扩展周期的Session和自动版本化 254

12.4.3 使用脱管对象的自动版本化 255

12.4.4 定制自动版本化行为 255

12.5 采用悲观锁 257

12.6 小结 258

12.7 习题 258

第4篇 Hibernate框架集成 260

第13章 Hibernate与Struts框架的集成 260

13.1 Hibernate与Struts框架 260

13.1.1 MVC模式 260

13.1.2 Struts框架简介 261

13.1.3 框架集成策略 263

13.1.4 框架集成示例 266

13.1.5 Eclipse配置 280

13.2 Hibernate与动态菜单 282

13.2.1 动态菜单 282

13.2.2 Struts-Menu应用简介 284

13.2.3 一个动态菜单的实现 290

13.3 小结 296

13.4 习题 296

第14章 Hibernate、Struts、Spring框架的集成 297

14.1 Sping框架简介 297

14.2 Hibernate与Spring、Struts框架的集成策略 299

14.3 环境搭建 301

14.3.1 Struts 2和Spring集成 301

14.3.2 Hibernate和Spring集成 302

14.3.3 Spring 2事务配置 316

14.3.4 Spring 2事务配置小结 329

14.4 小结 329

14.5 习题 329

第5篇 项目实战 331

第15章 科研项目管理系统 331

15.1 系统需求分析 332

15.2 系统总体架构设计 332

15.3 系统建模 333

15.3.1 域模型分析 333

15.3.2 建立映射文件 337

15.3.3 生成持久化类 343

15.3.4 数据库建模 349

15.4 系统设计 350

15.4.1 模块功能设计 351

15.4.2 接口设计 351

15.4.3 用户界面设计 352

15.4.4 目录设计 353

15.5 配置文件 354

15.5.1 hibernate.cfg.xml 355

15.5.2 struts.config.xml 355

15.6 系统初始界面 357

15.7 技术领域管理模块 359

15.7.1 技术领域列表 359

15.7.2 添加技术领域 368

15.7.3 修改技术领域 370

15.7.4 删除技术领域 372

15.8 项目管理模块 372

15.8.1 项目列表 372

15.8.2 添加项目 387

15.8.3 修改项目 391

15.8.4 删除项目 395

15.8.5 为项目指定人员 395

15.9 人员管理模块 399

15.9.1 人员列表 399

15.9.2 添加人员 410

15.9.3 修改人员 412

15.9.4 删除人员 414

15.9.5 为人员指定项目 414

15.10 综合查询 418

15.10.1 查询条件 418

15.10.2 查询结果 423

15.11 需要改进的地方 427

15.12 小结 428

15.13 习题 428

附录A Java集合类 429

ArrayList类 429

HashMap类 432

HashSet类 436

SortedMap类 440

SortedSet类 443

Vector类 446

Hashtable类 451

附录B 光盘内容与使用说明 456

B.1 光盘内容 456

B.1.1 示例源代码 456

B.1.2 实战项目源代码 457

B.2 使用示例源代码 457

B.3 使用ant应用示例源代码 461

B.4 使用实战项目源代码 461

B.5 使用Hibernate与Spring、Struts框架集成源代码 462

B.6 恢复数据库 463

第1章 对象关系映射基础 2

【例1-1】JDBC操作数据库 7

【例1-2】Hibernate操作数据库 10

第4章 第一个Hibernate程序 53

【例4-1】Hello World应用程序 75

第5章 映射定义与映射类型 86

【例5-1】increment生成器示例 96

【例5-2】identity生成器示例 99

【例5-3】assigned生成器示例 102

【例5-4】Hilo生成器示例 104

【例5-5】composite-id元素映射复合主键 107

【例5-6】实现CompositeUserType接口的用户自定义映射类型 114

第7章 集合类映射 133

【例7-1】使用<set>与<one-to-many>进行实体集合映射 140

【例7-2】使用<map>、<map-key>、<composite-element>进行值类型集合映射 145

【例7-3】使用<list>、<list-index>、<one-to-many>实现自身双向一对多关联 149

【例7-4】使用<idbag>、<collection-id>实现基于代理键的单向自身多对多关联 153

第8章 关联关系映射 158

【例8-1】Person类与Address类之间的单向多对一关联 165

【例8-2】Person类与Address类之间的双向多对一关联 172

【例8-3】基于外键关联的单向一对一关联 178

【例8-4】基于主键关联的单向一对一关联 180

【例8-5】基于外键关联的双向一对一关联 185

【例8-6】基于主键关联的双向一对一关联 189

【例8-7】单向多对多关联 194

【例8-8】双向多对多关联 199

第9章 继承映射 205

【例9-1】每个类分层结构一张表 206

【例9-2】每个子类一张表 209

【例9-3】每个具体类一张表 214

第10章 组件映射 218

【例10-1】映射组件 220

【例10-2】映射组件集合 224

【例10-3】组件作为联合主键 228

第13章 Hibernate与Struts框架的集成 260

【例13-1】Hibernate与Struts框架集成示例 266

【例13-2】Hibernate与StrutsMenu框架集成示例 290