书籍详情

精通Hibernate 3.0:Java数据库持久层开发实践

精通Hibernate 3.0:Java数据库持久层开发实践

作者:付京周

出版社:人民邮电出版社

出版时间:2007-05-01

ISBN:9787115159069

定价:¥65.00

购买这本书可以去
内容简介
  《精通Hibernate3.0:Java数据库持久层开发实践(附光盘)》分为两部分,共15章。第一部分通过具体的实例,由浅入深地讲解了Hibernate的基本配置、主键、HQL检索方式、映射、关联关系、缓存、事务和常见的工具等知识点。第二部分通过Hibernate在具体的项目中的应用,介绍了流行框架技术与Hibernate的整合应用。在最后一章还特别讲解了非常有发展潜力的轻量级的Portal技术。在《精通Hibernate3.0:Java数据库持久层开发实践(附光盘)》的附录中还给出了学习Hibernate的常见问题,可以帮助初学者少走弯路。《精通Hibernate3.0:Java数据库持久层开发实践(附光盘)》适合初、中级Java程序员阅读,同时也可作为高校和社会培训机构的实训教材。
作者简介
暂缺《精通Hibernate 3.0:Java数据库持久层开发实践》作者简介
目录
上篇:Hibernate开发详解
第1章 Hibernate的起步 3
1.1 Hibernate开发环境 3
1.1.1 JDK的下载安装 3
1.1.2 Tomcat的下载安装 5
1.1.3 MySQL的下载安装 9
1.1.4 Eclipse的下载安装 17
1.1.5 Hibernate的下载与配置 20
1.2 运行第一个Hibernate程序 20
1.2.1 新建工程 20
1.2.2 配置构建路径 21
1.2.3 创建MySQL数据库 21
1.2.4 编写类文件 22
1.2.5 编写对象关系映射文件 23
1.2.6 编写配置文件 24
1.2.7 编写运行测试类 25
1.3 总结 26
第2章 JDBC基本操作 27
2.1 建立和配置连接 27
2.2 JDBC接口的基本介绍 29
2.3 JDBC各种操作的实现 29
2.3.1 SQL语句执行接口Statement 30
2.3.2 SQL语句预编译接口PreparedStatement 31
2.3.3 结果集操作接口ResultSet 32
2.3.4 元数据操作接口ResultSetMetaData 34
2.4 总结 36
第3章 Java的反射机制 37
3.1 Java反射机制摘要及接口简介 37
3.1.1 反射机制摘要 37
3.1.2 反射机制的接口简介 37
3.2 实例解说Java反射机制 38
3.2.1 获取一个Class对象 38
3.2.2 获取类名称 40
3.2.3 检索修饰符 41
3.2.4 检索父类 43
3.2.5 检索指定类实现的接口 44
3.2.6 检索指定类所有的域成员 46
3.2.7 检索指定类的构造函数 47
3.2.8 检索方法 48
3.3 总结 50
第4章 Hibernate的对象关系映射的基本操作 51
4.1 Hibernate基础配置 51
4.1.1 Hibernate配置简介 51
4.1.2 高级配置选项 54
4.1.3 各种数据库的方言 56
4.1.4 配置连接池 60
4.1.5 Configuration的使用 61
4.1.6 SessionFactory的使用 64
4.2 Session接口的使用方法 64
4.2.1 Session的API简介 64
4.2.2 Session的使用 67
4.3 Hibernate映射的基本操作 69
4.3.1 映射文件说明 69
4.3.2 Hibernate映射类型 70
4.3.3 实体关系映射文件的配置 71
4.3.4 主键的生成方式 73
4.4 Hibernate对象关系映射实例:工作日志系统 74
4.4.1 JobLog整体思路 74
4.4.2 数据库的建立与设置 74
4.4.3 创建持久化类contents 75
4.4.4 创建对象关系映射文件Contents.hbm.xml 76
4.4.5 编写JobLogSessionFactory类 77
4.4.6 写日志模块的编码 78
4.4.7 浏览日志模块的编码 81
4.4.8 查询日志模块的编码 88
4.4.9 JobLog部署前的配置 92
4.4.10 目录结构 94
4.4.11 部署JobLog为Web应用程序运行 95
4.5 MyEclipse中的对象关系映射操作实例 95
4.5.1 MyEclipse的安装 95
4.5.2 利用MyEclipse进行Hibernate项目的开发 97
4.6 中文编码问题的原理及解决方案 110
4.6.1 基本概念 110
4.6.2 中文Windows操作系统内文件的编码方式 110
4.6.3 Java中的编码 110
4.6.4 JSP/Servlet中的相关编码 111
4.6.5 JSP页面的中文问题的解决方案 112
4.6.6 Servlet的中文问题的解决方案 115
4.6.7 数据库MySQL的中文问题的解决方案 116
4.7 总结 117
第5章 Hibernate的主键(标识符) 119
5.1 Hibernate内置主键概述 119
5.1.1 主键(PK)的定义 119
5.1.2 外键(FK)的定义 121
5.1.3 代理主键的定义 121
5.1.4 对象标识符 122
5.1.5 对象标识符举例 123
5.1.6 Hibernate主键详解:准备工作 126
5.1.7 Hibernate主键详解:Assigned 127
5.1.8 Hibernate主键详解:Hilo 129
5.1.9 Hibernate主键详解:Seqhilo 134
5.1.10 Hibernate主键详解:Increment 134
5.1.11 Hibernate主键详解:Identity 138
5.1.12 Hibernate主键详解:Sequence 141
5.1.13 Hibernate主键详解:Native 144
5.1.14 Hibernate主键详解:UUID 146
5.1.15 Hibernate主键详解:Foreign 149
5.1.16 Hibernate主键详解:GUID 149
5.2 Hibernate映射自然主键简介 149
5.2.1 自然主键介绍 149
5.2.2 映射自然主键 150
5.2.3 映射复合自然主键 153
5.3 总结 160
第6章 Hibernate检索方式 163
6.1 HQL基础 163
6.1.1 默认数据库表和数据 163
6.1.2 检索类的所有对象 165
6.1.3 检索类的某几个属性 166
6.1.4 指定别名 167
6.1.5 where条件子句 167
6.1.6 使用distinct过滤掉重复值 167
6.1.7 删除对象 168
6.1.8 更新对象值 169
6.1.9 查询计算属性值 169
6.1.10 使用函数 169
6.1.11 between...and...和not between... and...确定查询范围 169
6.1.12 in和not in确定查询集合 170
6.1.13 like进行模糊查询 170
6.1.14 and逻辑与 171
6.1.15 or逻辑或 171
6.1.16 order by对结果进行排序 171
6.1.17 group by对记录进行分组 172
6.1.18 having关键字 172
6.1.19 聚集函数 173
6.2 HQL进阶 174
6.2.1 查询类及其所有继承的类的实例 174
6.2.2 限制每次查询的返回对象数 174
6.2.3 绑定参数 176
6.2.4 在映射文件配置HQL语句 177
6.3 HQL的嵌套子查询 177
6.3.1 嵌套子查询的概念 177
6.3.2 带有IN谓词的子查询 178
6.3.3 比较子查询 178
6.3.4 带有ANY或ALL的子查询 178
6.4 HQL的多表查询 179
6.4.1 表之间的关联关系 179
6.4.2 表中的数据 180
6.4.3 修改持久化类 180
6.4.4 在映射文件中加入关联信息 181
6.4.5 左外连接 183
6.4.6 左外抓取连接 185
6.4.7 右外连接 186
6.4.8 内连接 186
6.4.9 抓取内连接 186
6.5 QBC检索方式 187
6.5.1 一个简单的QBC查询 187
6.5.2 指定别名 189
6.5.3 QBC条件查询:查询所在籍贯为空的学生 189
6.5.4 QBC条件查询:查询年龄在22到23岁的学生 190
6.5.5 QBC条件查询:Expression.between()确定查询范围 192
6.5.6 QBC条件查询:Expression.in()确定查询集合 192
6.5.7 QBC条件查询:Expression.like()进行模糊查询 193
6.5.8 QBC条件查询:Expression.and()逻辑与 193
6.5.9 QBC条件查询:Expression.or()逻辑或 193
6.5.10 QBC条件查询:addOrder()对结果进行排序 194
6.5.11 QBC条件查询:对HQL和QBC常用的条件查询作了对比 194
6.6 SQL检索方式 195
6.6.1 SQL检索时用到的数据 195
6.6.2 使用SQLQuery查询:检索Student表中的所有学生 198
6.6.3 使用SQLQuery查询:使用别名查询student表中的所有学生 199
6.6.4 使用SQLQuery查询:使用别名选择个别列查询 200
6.6.5 使用SQLQuery查询:关联查询学生选课信息 202
6.6.6 命名SQL查询 207
6.6.7 使用存储过程 209
6.7 总结 213
第7章 集合映射 215
7.1 映射Set 215
7.1.1 HashSet的使用 215
7.1.2 LinkedHashSet的使用 216
7.1.3 TreeSet的使用 217
7.1.4 Set的映射 218
7.2 映射List 222
7.2.1 ArrayList的使用 222
7.2.2 LinkedList的使用 223
7.2.3 List的映射 224
7.3 映射Bag 230
7.3.1 使用 bag 标签进行映射 230
7.3.2 使用 idbag 标签进行映射 234
7.4 映射Map 239
7.4.1 HashMap的使用 240
7.4.2 LinkedHashMap的使用 241
7.4.3 TreeMap的使用 242
7.4.4 Map的映射 244
7.5 总结 249
第8章 Hibernate的映射关联关系 251
8.1 映射多对一和一对一单向关联 251
8.1.1 配置多对一单向关联 251
8.1.2 测试多对一单向关联的性能 254
8.2 映射一对多单向关联 258
8.2.1 配置一对多单向关联 258
8.2.2 测试一对多单向关联的性能 261
8.3 映射一对多双向关联 265
8.3.1 配置一对多双向关联 265
8.3.2 测试一对多双向关联的性能 268
8.4 映射多对多单向关联 271
8.4.1 配置多对多双向关联 271
8.4.2 测试多对多双向关联的性能 274
8.5 映射多对多双向关联 277
8.5.1 配置映射多对多双向关联 277
8.5.2 多对多双向关联的性能测试 280
8.6 一对多双向关联表示多对多双向关联 281
8.7 总结 285
第9章 Hibernate事务及缓存管理 287
9.1 事务的概念 287
9.1.1 事务的概念 287
9.1.2 显式事务和隐式事务 288
9.1.3 事务的原子性、一致性、隔离性和持续性 289
9.1.4 在Hibernate中使用事务 289
9.2 并发控制 290
9.2.1 4个并发问题 290
9.2.2 事务隔离 294
9.2.3 Hibernate中设置事务隔离级别 296
9.3 SQL Server中的锁简介 296
9.3.1 SQL Server中锁的基本原理 296
9.3.2 SQL Server中锁的不同粒度 296
9.3.3 锁升级 297
9.3.4 SQL Server中锁的6种模式 298
9.3.5 SQL Server中死锁的原理及减少死锁的方法 299
9.4 悲观锁和乐观锁 301
9.4.1 Hibernate中几种锁定模式 301
9.4.2 悲观锁 302
9.4.3 乐观锁 304
9.5 Hibernate中的缓存 307
9.5.1 理解缓存的概念 307
9.5.2 Hibernate中的两级缓存结构 308
9.5.3 Hibernate中的第一级缓存的管理 308
9.6 Hibernate中的第二级缓存 309
9.6.1 使用EhCache配置第二级缓存 309
9.6.2 使用EhCache 310
9.7 总结 312
第10章 Hibernate工具的使用 313
10.1 常用工具的介绍 313
10.1.1 MyEclipse插件 313
10.1.2 HibernateSynchronizer插件 314
10.1.3 HibernateTools插件 314
10.1.4 如何合理、高效地使用这些工具 314
10.2 使用HibernateSynchronizer 314
10.2.1 HibernateSynchronizer的安装 314
10.2.2 使用向导创建Hibernate配置文件 316
10.2.3 使用向导创建Hibernate对象关系映射文件 318
10.2.4 生成持久化类 324
10.3 HibernateTools插件 328
10.3.1 HibernateTools的安装 328
10.3.2 创建Hibernate配置文件 330
10.3.3 创建反向工程文件 333
10.3.4 生成hbm文件和持久化类 334
10.3.5 Hibernate映射文件和配置文件编辑器 336
10.3.6 反向工程配置文件编辑器 338
10.3.7 Hibernate控制台视图 340
10.4 总结 344
下篇:J2EE应用开发
第11章 Hibernate与Spring+DWR的集成 347
11.1 Spring简介与Web服务规范 347
11.1.1 Spring简介 347
11.1.2 Java Web应用服务的结构规范 347
11.2 Spring的基本配置 348
11.2.1 Spring基本配置所需的文件 348
11.2.2 Spring的MVC配置 349
11.2.3 Spring的中web.xml的整体配置 352
11.3 Spring与DWR的集成 355
11.3.1 DWR在应用服务器中的集成 355
11.3.2 配置DWR自己本身的配置文件 356
11.3.3 DWR的测试及生成的工具方法 358
11.4 Hibernate的集成 361
11.4.1 Hibernate在Spring中的基本集成配置 361
11.4.2 Hibernate 的DAO操作类 364
11.4.3 单个DAO的实现 366
11.4.4 Spring关于Hibernate数据源、事务和事务代理 370
11.5 Afuer项目组织权限模型 371
11.5.1 数据库的基本表设计 371
11.5.2 数据库的关联表设计及其实现策略 373
11.6 Afuer项目使用标签简介 377
11.6.1 加载标签(又称Loading条) 377
11.6.2 Tab标签 384
11.6.3 JSTL标签 389
11.7 总结 391
第12章 Hibernate与Struts的整合 393
12.1 Struts简介 393
12.1.1 Struts的应用主配置文件的相关介绍 393
12.1.2 Struts的应用配置文件的相关实现 394
12.1.3 Struts页面显示的标签文件和Struts的运行组件 399
12.1.4 Struts配置简要介绍 399
12.2 常用Struts标签的介绍 402
12.2.1  bean 组件介绍 402
12.2.2  html 组件介绍 404
12.2.3  logic 组件介绍 405
12.3 Struts与Hibernate集成 406
12.3.1 建立Hibernate的配置文件和相应的映射文件 406
12.3.2 编写工厂类方法 409
12.4 Struts与Hibernate的分页设计 410
12.4.1 建立存储分页信息对象 411
12.4.2 封装代码实现类 412
12.5 总结 414
第13章 Hibernate与Ant的结合应用 415
13.1 Ant基本的语法和使用 415
13.1.1 Ant的安装 415
13.1.2 Ant的基本语法介绍 415
13.1.3 Ant的使用 417
13.1.4 ANT在生成Hibernate应用程序中的使用 418
13.2 Hibernate使用Ant生成数据库表 425
13.2.1 建立Hibernate属性文件 425
13.2.2 创建POJO和映射文件 425
13.2.3 建立Ant的编译文件 427
13.2.4 运行配置文件 427
13.3 Ant与XDoclet协同作战 428
13.3.1 XDoclet说明 428
13.3.2 通过Ant和XDoclet生成Hibernate映射文件 428
13.4 总结 432
第14章 Hibernate在Spring+WebWork2中的应用——AppFuse 433
14.1 AppFuse项目简介与项目的安装 433
14.1.1 AppFuse项目简介 433
14.1.2 安装AppFuse项目 433
14.2 AppFuse技术应用简介 434
14.2.1 AppFuse的生成代码工具 434
14.2.2 AppFuse的类包简介 437
14.2.3 AppFuse的权限控制 439
14.2.4 AppFuse缓存设置 440
14.2.5 AppFuse的JavaScript简介 442
14.3 AppFuse的技术流程及功能演示 448
14.3.1 AppFuse的工作流程 448
14.3.2 AppFuse的功能演示 457
14.4 Spring与WebWork2的集成 459
14.4.1 WebWork2简介 459
14.4.2 在Spring中配置WebWork2 459
14.5 Hibernate在框架中的应用 471
14.5.1 数据库表的分析 471
14.5.2 Spring中配置Hibernate 472
14.5.3 DAO类的实现 474
14.5.4 工厂类及Service类的实现 476
14.6 如何应用AppFuse进行开发 482
14.6.1 创建Hibernate对象 482
14.6.2 添加映射文件到配置文件 482
14.6.3 添加DAO类和工厂类 483
14.6.4 添加Action类、配置及JSP文件以实现应用 483
14.7 总结 484
第15章 Hibernate在Portal中的应用 485
15.1 Portal简介 485
15.1.1 Portal的概念简介 485
15.1.2 Portal的特性 486
15.2 Light Portal客户端简介 486
15.2.1 页面的访问与样式的定制 486
15.2.2 Light Portal客户端的功能和权限 488
15.3 Light Portal概念和特性 489
15.3.1 Light Portal的概念 489
15.3.2 Light Portal的特性 489
15.4 Light Portal的剖析 490
15.4.1 剖析Light Portal使用的技术 491
15.4.2 剖析Light Portal结构工作流程 491
15.4.3 Light Portal的安全配置 496
15.4.4 Light Portal的面板配置 498
15.4.5 Light Portal的类对象 500
15.4.6 Light Portal类对象的引用 503
15.5 Light Portal的Ajax技术 507
15.5.1 Rico介绍及基本配置 508
15.5.2 Rico的Ajax、拖拽、特效、行为方面的实例 508
15.6 Hibernate在Light Portal中的应用 510
15.6.1 在Light Poatal中配置Hibernate 510
15.6.2 Hibernate映射文件的配置 513
15.6.3 Hibernate的DAO接口及实现方式 515
15.7 Light Portal的开发流程 520
15.7.1 创建Portlet的执行体 521
15.7.2 创建显示页面 526
15.7.3 创建编辑页面 526
15.7.4 配置Portlet 528
15.7.5 添加Portlet到Light Portal 529
15.8 Light Portal与Web应用的集成 530
15.9 总结 531
附录 Hibernate常见问题 533
猜您喜欢

读书导航