《Hibernate应用开发完全手册》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:王国辉,马文强编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2007
  • ISBN:7115164517
  • 页数:478 页
图书介绍:本书以使用Hibernate技术开发网络应用程序用到的实用技术为中心,全面、系统介绍了使用Hibernate技术开发应用程序时必须掌握的技术、方法和过程。本书分为四篇,共19章。第一篇为基础篇,主要介绍Hibernate的环境搭建及使用Hibernate时必须掌握的基本技术,包括操作实体对象和HQL、QBC、SQL等查询技术。第二篇为高级篇,主要介绍Hibernate的高级应用,包括在Hibernate中映射关联关系、事务应用、检索策略、映射值类型集合等技术。第三篇为典型实例篇,本篇精选了当前比较流行的典型实例程序,介绍小型网站或应用程序的开发思路、方法和过程。第四篇为项目实践篇,精选了当前应用较广泛的网络应用程序和网站,详细介绍了基于Struts+Hibernate开发网站的基本思路、方法和过程。内容包括运用Struts+Hibernate开发物资管理系统和运用Struts+Hibernate开发电子商城。本书附有配套光盘。光盘提供了书中所有实例、范例和案例程序的全部源代码,所有源代码都经过精心调试,在Windows 2003下全部通过,保证能够正常运行。目录见附件。

第1篇 基础篇 3

第1章 Hibernate与持久化概述 3

1.1 分层体系结构 3

1.1.1 MVC模式 3

1.1.2 持久层 4

1.1.3 软件分层的优、缺点 5

1.2 ORM 5

1.2.1 什么是ORM 5

1.2.2 ORM的解决方案 6

1.2.3 ORM技术的优缺点 6

1.3 域模型 7

1.3.1 实体域对象 7

1.3.2 过程域对象 7

1.3.3 事件域对象 7

1.3.4 域对象之间的关系 7

1.3.5 常用域对象的持久化技术 8

1.4 Hibernate简介 10

1.5 Hibernate核心接口 10

1.5.1 Configuration接口 10

1.5.2 SessionFactory接口 10

1.5.3 Session接口 11

1.5.4 Transaction接口 11

1.5.5 Query和Criteria接口 11

第2章 Hibernate入门 12

2.1 环境搭建 12

2.1.1 安装和配置JDK1.5 12

2.1.2 安装SQL Server 2000 14

2.1.3 Hibernate包的下载与放置 17

2.2 创建数据库及数据表 20

2.2.1 创建SQL Server数据库及数据表 20

2.2.2 创建MySQL数据库及数据表 22

2.3 创建Hibernate配置文件 24

2.3.1 创建xml格式的配置文件 25

2.3.2 创建Java属性文件格式的配置文件 26

2.3.3 Hibernate配置属性 26

2.4 通过Hibernate连接数据库 27

2.4.1 连接SQL Server 2000数据库的Hibernate配置文件 27

2.4.2 连接MySQL数据库的Hibernate配置文件 29

2.4.3 连接Oracle数据库的Hibernate配置文件 30

2.5 创建持久化类及映射文件 32

2.5.1 创建持久化类 32

2.5.2 创建映射文件 33

2.5.3 解析映射文件 33

2.6 构建SessionFactory 35

2.6.1 从XML文件读取配置信息构建SessionFactory 35

2.6.2 从Java属性文件读取配置信息构建SessionFactory 36

2.7 Session的创建与关闭 36

2.7.1 Session的创建 36

2.7.2 Session的关闭 37

2.8 在Eclipse上创建Hibernate实例 37

2.8.1 在J2EE Development视图模式下新建项目 37

2.8.2 将数据库驱动包导入Eclipse中 38

2.8.3 在Hibernate视图模式下建立数据库连接 39

2.8.4 在J2EE Development视图模式下建立存放类的包文件夹 42

2.8.5 将Hibernate3.2类库构建到Eclipse中 43

2.8.6 将Hibernate3.2类库引入到工程中 43

2.8.7 在Hibernate视图模式下生成持久化类和映射文件 45

2.8.8 系统自动生成的配置文件、持久化类和映射文件 46

2.8.9 创建业务逻辑类 48

2.8.10 创建JSP页面文件 49

2.8.11 发布并运行程序 50

2.9 在JBuilder上创建Hibernate实例 51

2.9.1 创建工程及Web模块 51

2.9.2 引入Hibernate和JDBC包 55

2.9.3 创建持久化类和映射文件 59

2.9.4 创建Hibernate配置文件 63

2.9.5 创建业务逻辑类 64

2.9.6 创建JSP页面文件 65

2.9.7 运行程序 66

2.9.8 实例文件架构 66

第3章 操纵实体对象 67

3.1 Hibernate对象的三种状态 67

3.1.1 临时状态 68

3.1.2 持久化状态 68

3.1.3 游离状态 68

3.1.4 持久化类对象的三种状态之间的转换过程 69

3.2 Session中增加、修改和删除的方法 69

3.2.1 save()方法 69

3.2.2 update()方法 73

3.2.3 saveOrUpdate()方法 76

3.2.4 delete()方法 78

3.3 Session中的查询方法 80

3.3.1 load()方法 80

3.3.2 get()方法 82

3.4 清除缓存对象 85

3.4.1 evict()方法 85

3.4.2 clear()方法 86

3.5 级联操作在关联中的使用 87

3.5.1 none的用法 89

3.5.2 save-update的用法 90

3.5.3 delete的用法 91

3.5.4 delete-orphan的用法 92

第4章 Hibernate的数据查询 94

4.1 数据查询方式简介 94

4.1.1 HQL检索方式 95

4.1.2 QBC检索方式 95

4.1.3 本地SQL查询 96

4.2 检索基础 97

4.2.1 Query的list()方法 97

4.2.2 Query的iterate()方法 98

4.2.3 利用HQL绑定参数查询 100

4.2.4 只返回一个检索对象 102

4.2.5 多态查询 103

4.2.6 分批检索对象与数据分页显示的实现 103

4.2.7 在映射文件中定义命名查询语句 106

4.3 条件查询 107

4.3.1 比较查询 108

4.3.2 限定查询范围 109

4.3.3 逻辑关系查询 110

4.3.4 字符串匹配查询 111

4.4 统计函数的运用 112

4.5 投影查询 113

4.6 将查询结果排序 115

4.7 分组查询 116

4.8 联接查询 117

4.8.1 内联接 119

4.8.2 左外联接 122

4.8.3 右外联接 127

4.8.4 全联接 129

4.9 高级查询 130

4.9.1 集合过滤 130

4.9.2 QBC动态查询 133

第2篇 高级篇 139

第5章 映射一对多关联 139

5.1 一对多关联简介 139

5.2 单向关联 141

5.2.1 单向关联的建立 141

5.2.2 〈many-to-one〉元素的not-null属性 142

5.2.3 级联保存与更新 143

5.3 双向关联 144

5.3.1 双向关联的建立 144

5.3.2 〈set〉元素的inverse属性 146

5.3.3 级联操作关联对象 147

5.4 自关联 147

5.5 扩展持久化类 149

5.5.1 Hibernate访问持久化类属性的策略 149

5.5.2 在持久化类中加入派生属性 151

5.5.3 在持久化类的方法中加入程序代码 152

5.5.4 控制insert和update操作 154

5.6 运用命名策略 155

第6章 映射其他关联关系 162

6.1 一对一关联 162

6.1.1 以主键关联 162

6.1.2 以外键关联 164

6.2 多对多的单向关联 166

6.3 多对多的双向关联 170

6.3.1 双向关联的建立 170

6.3.2 〈bag〉元素的使用 171

第7章 Hibernate中事务的应用 174

7.1 事务的概念 174

7.2 事务回滚的应用 175

7.3 隔离级别的选择 176

7.4 数据锁定 177

7.4.1 悲观锁的使用 177

7.4.2 乐观锁的使用 178

7.4.3 Session中的lock()和update()方法 181

第8章 Hibernate检索策略 184

8.1 立即检索 185

8.1.1 一对多的立即检索 186

8.1.2 多对一的立即检索 187

8.2 延迟检索 188

8.2.1 一对多的延迟检索 188

8.2.2 多对一的延迟检索 190

8.3 批量检索 192

8.3.1 一对多的批量检索 192

8.3.2 多对一的批量检索 195

8.4 迫切左外联接检索 197

8.4.1 通过配置文件实现 197

8.4.2 通过HQL语句实现 199

第9章 映射值类型集合 201

9.1 映射Set 201

9.2 映射List 203

9.3 映射Map 205

9.4 映射Bag 208

9.5 对集合排序 209

9.5.1 在数据库中排序 209

9.5.2 在内存中排序 212

第3篇 典型实例篇 217

第10章 网站留言簿 217

10.1 实例运行结果 218

10.2 设计与分析 218

10.2.1 系统分析 218

10.2.2 系统流程 218

10.2.3 文件夹及文件架构 219

10.2.4 Hibernate配置文件及类的分布 219

10.3 技术要点 220

10.3.1 获取留言及回复信息 220

10.3.2 获取系统日期和时间 221

10.3.3 保存留言信息时自动插入回复记录 221

10.4 开发过程 222

10.4.1 数据表结构 222

10.4.2 创建Hibernate配置文件 223

10.4.3 创建实体类及映射文件 224

10.4.4 业务处理逻辑类 225

10.4.5 添加留言信息 229

10.4.6 显示留言信息 231

10.4.7 回复留言 234

10.4.8 删除留言 235

10.5 调试、发布与运行 235

10.5.1 调试 235

10.5.2 发布与运行 236

第11章 数据分页 237

11.1 实例运行结果 238

11.2 设计与分析 238

11.2.1 系统分析 238

11.2.2 功能图解 238

11.2.3 文件夹及文件架构 239

11.2.4 Hibernate配置文件及类的分布 239

11.3 技术要点 239

11.3.1 映射视图 239

11.3.2 Hibernate的批量检索 242

11.4 开发过程 243

11.4.1 数据表及视图结构 243

11.4.2 创建Hibernate配置文件 244

11.4.3 创建实体类及映射文件 244

11.4.4 Hibernate封装类 244

11.4.5 获取请求页面信息 246

11.4.6 控制换行输出 247

11.5 发布与运行 248

第12章 复杂条件查询 249

12.1 实例运行结果 249

12.2 设计与分析 250

12.2.1 系统分析 250

12.2.2 系统流程 250

12.2.3 文件夹及文件架构 251

12.2.4 Hibernate配置文件及类的分布 251

12.3 技术要点 251

12.4 开发过程 252

12.4.1 数据表结构 252

12.4.2 创建Hibernate配置文件 252

12.4.3 创建实体类及映射文件 253

12.4.4 业务处理逻辑类 254

12.4.5 查询并显示全部数据 256

12.4.6 指定条件查询并显示数据 258

12.5 调试、发布与运行 260

12.5.1 调试 260

12.5.2 发布与运行 260

第13章 权限管理 261

13.1 实例运行结果 262

13.2 设计与分析 262

13.2.1 系统分析 262

13.2.2 系统流程 262

13.2.3 文件夹及文件架构 263

13.2.4 Hibernate配置文件及类的分布 263

13.3 技术要点 264

13.4 开发过程 265

13.4.1 数据表结构 265

13.4.2 创建Hibernate配置文件 266

13.4.3 创建实体类及映射文件 266

13.4.4 业务处理逻辑类 268

13.4.5 添加管理员信息 271

13.4.6 显示管理员列表 272

13.4.7 修改管理员权限 273

13.4.8 删除管理员信息 275

13.5 发布与运行 275

第14章 企业内部邮件管理 276

14.1 实例运行结果 277

14.2 设计与分析 277

14.2.1 系统分析 277

14.2.2 系统流程 277

14.2.3 文件夹及文件架构 277

14.2.4 Hibernate配置文件及类的分布 278

14.3 技术要点 278

14.3.1 动态加载所有用户到下拉列表 278

14.3.2 分页Bean的编写 279

14.4 开发过程 281

14.4.1 数据表结构 281

14.4.2 创建配置文件、实体类和映射文件 282

14.4.3 用户注册 282

14.4.4 发送邮件 283

14.4.5 接收邮件 284

14.4.6 查看邮件 285

14.4.7 删除邮件 286

14.5 发布与运行 286

第15章 在线投票 288

15.1 实例运行结果 289

15.2 设计与分析 289

15.2.1 系统分析 289

15.2.2 系统流程 289

15.2.3 文件夹及文件架构 290

15.2.4 Hibernate配置文件及类的分布 290

15.3 技术要点 291

15.3.1 IP的获得与限制 291

15.3.2 柱状图的生成 291

15.4 开发过程 293

15.4.1 数据表结构 293

15.4.2 创建配置文件、实体类和映射文件 294

15.4.3 提交投票 294

15.4.4 输出投票结果到表格 295

15.4.5 查看柱状图 296

15.5 发布与运行 298

第16章 在线论坛 299

16.1 实例运行结果 300

16.2 设计与分析 300

16.2.1 系统分析 300

16.2.2 系统流程 301

16.2.3 文件夹及文件架构 301

16.2.4 Hibernate配置文件及类的分布 301

16.3 技术要点 302

16.3.1 映射一对多关联 302

16.3.2 级联删除 302

16.4 开发过程 303

16.4.1 数据表结构 303

16.4.2 创建Hibernate配置文件 304

16.4.3 创建实体类及映射文件 304

16.4.4 用户注册 305

16.4.5 用户登录 308

16.4.6 主题的创建与回复 309

16.4.7 主题的维护 311

16.5 发布与运行 315

第17章 系统登录 316

17.1 实例运行结果 316

17.2 设计与分析 317

17.2.1 系统分析 317

17.2.2 系统流程 317

17.2.3 Hibernate配置文件及类的分布 317

17.3 技术要点 318

17.4 开发过程 319

17.4.1 数据表结构 319

17.4.2 创建Hibernate配置文件 319

17.4.3 创建实体类及映射文件 319

17.4.4 业务处理逻辑类 320

17.4.5 自定义面板类 321

17.4.6 用户登录窗体 322

17.5 调试、编译与运行 326

第4篇 项目实践篇 329

第18章 运用Struts+Hibernate开发物资管理系统 329

18.1 需求分析 330

18.2 系统设计 330

18.2.1 项目规划 330

18.2.2 系统功能结构 330

18.2.3 业务流程 330

18.3 数据库设计 331

18.3.1 数据表、视图的简要说明 331

18.3.2 数据表关系概要说明 332

18.3.3 主要数据表的结构 332

18.4 网站总体设计 335

18.4.1 文件夹架构设计 335

18.4.2 类的分布架构设计 336

18.4.3 文件架构 336

18.4.4 网站首页架构 337

18.5 配置Struts 337

18.6 配置Hibernate配置文件 339

18.7 公共类的编写 340

18.7.1 Session管理类的编写 340

18.7.2 获取日期和时间类的编写 341

18.8 用户管理模块 342

18.8.1 用户管理模块总体架构 342

18.8.2 创建用户管理模块的持久化类及映射文件 342

18.8.3 创建用户管理的Action实现类 344

18.8.4 系统登录设计 345

18.8.5 查看用户列表设计 348

18.8.6 添加用户信息设计 351

18.8.7 修改用户权限设计 355

18.8.8 删除用户设计 358

18.9 物资管理模块 360

18.9.1 物资管理模块总体架构 360

18.9.2 创建物资管理模块的持久化类及映射文件 360

18.9.3 创建物资管理的Action实现类 361

18.9.4 查看物资列表设计 362

18.9.5 添加物资信息设计 364

18.9.6 修改物资设计 366

18.9.7 删除/恢复物资信息设计 369

18.10 物资入库模块 370

18.10.1 物资入库模块总体架构 370

18.10.2 创建物资入库模块的持久化类及映射文件 370

18.10.3 创建物资入库的Action实现类 372

18.10.4 采购登记设计 374

18.10.5 审核入库设计 380

18.10.6 借出归还设计 385

18.11 物资出库模块 387

18.11.1 物资出库模块总体架构 387

18.11.2 创建物资出库模块的持久化类及映射文件 387

18.11.3 创建物资出库的Action实现类 388

18.11.4 部门领用设计 390

18.11.5 物资借出设计 394

18.11.6 借出审核设计 396

18.12 物资处理模块 399

18.12.1 物资处理模块总体架构 399

18.12.2 创建物资处理模块的持久化类及映射文件 399

18.12.3 创建物资处理模块的Action实现类 400

18.12.4 库存盘点设计 400

18.12.5 部门报损设计 403

18.13 查询统计模块 406

18.13.1 查询统计模块总体架构 406

18.13.2 创建查询统计模块的ActionForm类 407

18.13.3 创建查询统计模块的Action实现类 407

18.13.4 在QueryDAO类中创建通用查询的方法 408

18.13.5 采购单查询设计 410

18.13.6 部门领用汇总设计 414

18.13.7 部门汇总设计 417

18.14 系统初始化模块 419

18.14.1 创建系统初始化模块的业务逻辑类 420

18.14.2 系统初始化页面设计 421

18.15 疑难问题分析与解决 421

18.15.1 在Struts中解决中文乱码 421

18.15.2 部门汇总模块SQL语句解析 422

第19章 运用Struts+Hibernate开发电子商城 427

19.1 需求分析 428

19.2 系统设计 428

19.2.1 项目规划 428

19.2.2 系统功能结构图 428

19.3 数据库设计 429

19.3.1 数据表简要说明 429

19.3.2 数据表关系概要说明 429

19.3.3 主要数据表的结构 430

19.4 网站总体设计 432

19.5 在Struts框架下使用Tiles框架 433

19.6 Struts框架的执行流程 434

19.7 配置Hibernate 434

19.7.1 配置Hibernate配置文件 434

19.7.2 配置持久化类映射文件 435

19.8 开发电子商城前台 436

19.8.1 开发前台模板及首页 437

19.8.2 开发新品上架及特价商品页 444

19.8.3 开发商品销售排行模块 445

19.8.4 开发查看订单模块 448

19.8.5 开发购物车 449

19.8.6 开发修改资料页 454

19.9 开发电子商城后台 455

19.9.1 开发订单管理模块 455

19.9.2 开发商品管理模块 459

19.9.3 开发商品类别管理模块 462

19.9.4 开发公告管理模块 470

19.9.5 开发会员管理模块 471

19.9.6 开发管理员管理模块 472

19.10 疑难问题分析与解决 474

19.10.1 分页Bean的开发流程 474

19.10.2 文件上传 477