Java数据库持久层开发核心编程

副标题:无

作   者:黄佩虹,张冰晶编著

分类号:

ISBN:9787302188865

微信扫一扫,移动浏览光盘

简介

   Hibernate持久层框架是优秀的解决对象关系不匹配问题的解决方案,   它使得持久层开发人员可以方便地解决对象关系映射问题。另外,   Hibernate在性能上也提供了许多优化策略,接口简单,操作灵活,具有可   扩展性,对JDBC仅做了轻量级封装,而且,多种框架已经显式地对   Hibernate提供了支持的接口。Hibernate已成为当前Java世界最流行的持   久层框架之一。    本书共分16章,内容包括:使用Hibernate的对象关系映射,使用   Hibernate进行对象保存、更新、删除、读取操作,对象检索,事务处理,   二级缓存,查询缓存,事件框架和拦截器的使用;还介绍了Hibernate官方   网站的推荐项目Hibernate Annotations、Hibernate Validators、   Hibernate Tools和Hibernate Search以及与Spring结合使用的方法。本书   循序渐进地指导初学者从入门到较全面地掌握Hibernate的高级特性,以及   结合其他技术使用Hibernate进行项目开发,内容全面,案例清晰,实践性   强。    本书适合Hibernate的入门者学习使用,同时也适合对Hibernate有一   定了解的读者在项目开发时进行查阅。   

目录

第1章 为什么使用hibernate . 1

1.1 持久层 2

1.1.1 应用程序的分层结构 2

1.1.2 持久化技术 3

1.2 orm简介 4

1.3 使用jdbc编程 4

1.4 使用jdbc和hibernate的对比 7

1.4.1 carcompany项目分析 7

1.4.2 使用jdbc实现项目与使用hibernate实现项目 9

1.4.3 关联和继承问题 12

1.4.4 数据库表更改问题 16

1.5 hibernate的优点 17

1.6 小结 18

第2章 hibernate入门程序 19

2.1 资源下载和预备环境 19

2.1.1 预备知识 19

2.1.2 资源下载 20

2.1.3 环境预备 21

2.2 basiccar项目 24

2.2.1 basiccar项目描述 24

.2.2.2 建立数据库 24

2.2.3 建立项目 24

2.3 pojo文件 26

2.4 映射文件 27

2.4.1 basiccar.hbm.xml内容 27

2.4.2 映射文件内容介绍 28

2.5 配置文件 29

2.5.1 hibernate.cfg.xml内容 29

2.5.2 配置文件内容介绍 30

2.6 测试项目 31

2.6.1 test.java代码 31

2.6.2 插入、更新、查询和删除 33

2.7 小结 37

第3章 hibernate原理解析 39

3.1 hibernate的常用接口及包 39

3.1.1 hibernate的常用接口 39

3.1.2 hibernate的包 42

3.2 hibernate体系结构和工作原理 43

3.2.1 hibernate体系结构 43

3.2.2 hibernate工作原理 44

3.3 hibernate的依赖技术 46

3.3.1 java反射机制、cglib和javassist 46

3.3.2 xml文件及其解析器dom4j 52

3.3.3 antlr 54

3.4 hibernate的内部实现 58

3.4.1 session.save()的内部实现 58

3.4.2 session.flush()的内部实现 61

3.4.3 session.load()的内部实现 65

3.4.4 query(查询)的内部实现 69

3.5 小结 72

第4章 对象关系映射 73

4.1 hibernate的对象识别方法 73

4.1.1 java和关系数据库的对象识别方法 74

4.1.2 hibernate的对象识别方法 76

4.2 映射代理主键、单个自然主键和复合自然主键 76

4.2.1 映射代理主键 76

4.2.2 映射单个自然主键 78

4.2.3 映射复合自然主键 78

4.3 hibernate的映射类型 85

4.3.1 hibernate内置类型 85

4.3.2 hibernate集合类型和用户自定义类型 88

4.4 继承关系映射 88

4.4.1 每个子类一个数据表 90

4.4.2 每个类一个数据表 92

4.4.3 共享一个数据表 94

4.5 关联关系映射 97

4.5.1 多对一 97

4.5.2 一对一 107

4.5.3 多对多 113

4.6 小结 121

第5章 对数据的简单操作 123

5.1 hibernate数据读写操作 123

5.2 进一步理解session 125

5.2.1 session读操作的实现 126

5.2.2 session写操作的实现 127

5.3 java对象的三种状态 129

5.4 对session的插入、更新、删除、载入 131

5.4.1 对session执行save操作 133

5.4.2 对session执行update操作 137

5.4.3 对session执行delete操作 138

5.4.4 对session执行get、load操作 139

5.5 hql检索方式 139

5.5.1 hibernate 提供多种检索方式 139

5.5.2 hql检索方式 139

5.5.3 query接口 140

5.5.4 hql基本语法 142

5.5.5 在hql语句中绑定参数 148

5.5.6 限制查询返回的数目 152

5.5.7 在映射文件中定义命名hql查询语句 152

5.5.8 sql检索方式 153

5.6 小结 156

第6章 hibernate事务与并发处理 157

6.1 hibernate事务 157

6.1.1 什么是事务 157

6.1.2 hibernate的事务 158

6.1.3 使用hibernate事务 159

6.1.4 transaction接口 162

6.1.5 同步session和数据库 163

6.2 并发带来的问题 164

6.2.1 更新丢失(lost update) 164

6.2.2 脏读(dirty read) 165

6.2.3 不可重复读(unrepeatable read) 166

6.2.4 幻读(phantom read) 166

6.3 避免并发冲突的三种方案 167

6.3.1 设置数据库隔离级别 170

6.3.2 乐观锁 172

6.3.3 悲观锁 177

6.4 小结 179

第7章 高级对象关系映射 181

7.1 使用动态类 181

7.1.1 使用动态类的对象关系映射 181

7.1.2 使用动态类的数据存取 183

7.2 使用组件[component] 185

7.2.1 实体和值的概念 185

7.2.2 组件[component] 185

7.2.3 动态组件[dynamic-component] 188

7.3 映射值类型的集合 190

7.3.1 使用值类型集合的例子 191

7.3.2 各种集合元素 193

7.3.3 映射component类型集合 201

7.3.4 排序 205

7.4 用户自定义数据类型 206

7.4.1 使用usertype接口的例子 206

7.4.2 usertype包的其他接口 211

7.5 一个持久化类对应多张表 212

7.5.1 对象关系映射 212

7.5.2 数据存取 214

7.6 小结 216

第8章 高级数据检索 217

8.1 qbc数据检索 217

8.1.1 qbc查询主要类 219

8.1.2 使用expression类和example类设置查询条件 223

8.1.3 使用qbc各种检索例子 226

8.2 连接查询 231

8.2.1 连接定义 231

8.2.2 hql、criteria对连接的支持 235

8.2.3 使用fetch和不使用fetch的区别 239

8.3 检索策略 240

8.3.1 什么时候载入 240

8.3.2 如何检索 241

8.3.3 类级别的延迟加载 242

8.3.4 关联实体的载入策略 244

8.3.5 关联集合的载入策略 248

8.3.6 batch载入策略 252

8.4 小结 254

第9章 hibernate的二级缓存和查询缓存 255

9.1 二级缓存 256

9.1.1 hibernate的缓存结构.. 256

9.1.2 选择二级缓存策略 257

9.1.3 缓存提供者 258

9.2 使用二级缓存 264

9.2.1 使用二级缓存的步骤 264

9.2.2 对类对象进行缓存 265

9.2.3 对集合进行缓存 268

9.3 查询缓存 272

9.3.1 使用查询缓存 272

9.3.2 使用查询缓存的注意事项 275

9.4 管理二级缓存 277

9.4.1 缓存模式 278

9.4.2 清除缓存对象 278

9.5 hibernate统计机制 279

9.5.1 hibernate统计机制statistics 279

9.5.2 与二级缓存相关的统计信息 281

9.6 小结 283

第10章 hibernate拦截器和事件框架 285

10.1 hibernate拦截器 285

10.1.1 interceptor接口 286

10.1.2 使用interceptor拦截器 289

10.2 hibernate事件框架 300

10.2.1 实现自定义监听器 301

10.2.2 注册监听器 303

10.3 小结 305

第11章 hibernate annotations应用 307

11.1 hibernate annotations简介 307

11.1.1 ejb介绍 308

11.1.2 启用元数据注释 310

11.1.3 jpa介绍 313

11.1.4 hibernate annotations介绍 313

11.2 建立一个hibernate annotation项目 314

11.2.1 环境准备 314

11.2.2 在basiccar项目中使用注释 315

11.3 使用注释映射对象关系 318

11.3.1 映射实体和属性 318

11.3.2 映射类型 319

11.3.3 映射主键 320

11.3.4 继承关系映射 323

11.3.5 关联关系映射 326

11.3.6 映射组件 332

11.3.7 乐观锁 335

11.4 使用注释映射查询 335

11.4.1 映射命名hql查询 335

11.4.2 映射命名sql查询 336

11.4.3 使用过滤器 337

11.5 小结 338

第12章 hibernate验证器 339

12.1 新建一个hibernate 验证器项目 340

12.1.1 环境准备 340

12.1.2 在basiccar项目中使用约束 341

12.2 验证器框架 345

12.2.1 org.hibernate.validator包 345

12.2.2 org.hibernate.validator.event包 346

12.2.3 org.hibernate.validator.interpolator包 347

12.2.4 错误信息资源包 347

12.3 内键约束 347

12.4 错误信息 349

12.4.1 资源绑定 349

12.4.2 自定义错误信息 353

12.5 编写自定义约束 354

12.6 验证关联对象 356

12.7 结合xml映射文件使用约束 358

12.7.1 增加回滚事务处理 358

12.7.2 注册验证器事件监听器 360

12.8 小结 361

第13章 hibernate tools介绍 363

13.1 hibernate tools功能 363

13.2 hibernate tools安装 364

13.3 创建hibernate配置文件 368

13.4 创建hibernate控制台配置 371

13.5 创建hibernate逆向工程文件 373

13.5.1 创建逆向工程文件的步骤 373

13.5.2 hibernate逆向工程文件编辑器 375

13.6 使用逆向工程生成pojo类和映射文件 380

13.6.1 生成pojo类和映射文件的步骤 380

13.6.2 进一步控制逆向工程 385

13.7 控制映射文件生成pojo类 390

13.8 hibernate tools的各个视图 392

13.9 动态执行hql语句 393

13.10 小结 395

第14章 hibernate search 397

14.1 lucene介绍 398

14.1.1 什么是lucene 398

14.1.2 lucene的基本原理 398

14.1.3 lucene的技术实现 400

14.1.4 索引的主要类 403

14.1.5 搜索的主要类 404

14.1.6 一个简单使用lucene的例子 404

14.2 hibernate search介绍 410

14.2.1 hibernate search的优点 410

14.2.2 hibernate search的使用模式 411

14.2.3 hibernate search包 413

14.3 第一个hibernate search项目 415

14.3.1 环境准备 415

14.3.2 basiccar例子 415

14.4 建立实体和索引的映射 422

14.4.1 基本映射 422

14.4.2 嵌入和关联实体映射 424

14.4.3 使用@boost进行加权操作 432

14.4.4 类型转换桥bridge 434

14.5 配置 435

14.5.1 目录配置 435

14.5.2 worker配置 437

14.5.3 reader策略配置 437

14.5.4 启动自动索引 437

14.6 查询 438

14.6.1 setcriteriaquery()设置criteria 438

14.6.2 setindexprojection()对结果进行投影 439

14.6.3 setsort()排序 440

14.6.4 多种query对象的使用 443

14.7 小结 444

第15章 spring和hibernate整合 445

15.1 spring简介 445

15.1.1 应用程序框架的概念 446

15.1.2 spring总体框架 447

15.1.3 ioc控制反转和依赖注入 449

15.1.4 aop 面向方面编程 454

15.2 结合spring和hibernate的例子 460

15.2.1 环境 461

15.2.2 项目代码 461

15.3 主要类解析 466

15.3.1 hibernatetemplate类 466

15.3.2 hibernatedaosupport类 469

15.4 对hibernate进行事务管理 471

15.4.1 spring事务 471

15.4.2 编程式事务 471

15.4.3 声明式事务 473

15.5 小结 478

第16章 使用spring、struts、hibernate的实例 481

16.1 项目介绍 482

16.1.1 项目功能 482

16.1.2 项目技术 485

16.2 整体框架设计 488

16.2.1 系统的总体框架 488

16.2.2 系统的各个包 490

16.3 struts在项目中的运用 491

16.4 使用spring整合项目 495

16.5 业务层的实现 498

16.5.1 生成地图的相关类 498

16.5.2 移动缩放地图操作的相关类 508

16.5.3 查询地图操作的相关类 510

16.5.4 编辑地图操作的相关类 512

16.6 持久层及数据库设计 515

16.6.1 数据库设计 515

16.6.2 持久层设计 517

16.7 持久层的实现 519

16.7.1 hibernate对空间数据类型的支持 519

16.7.2 使用空间数据库函数实现数据的选取 528

16.7.3 dao的实现 531

16.7.4 xml文件 538

16.8 小结 541

附录a hibernate生成器 543

附录b hibernate配置文件... 547


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Java数据库持久层开发核心编程
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,在线查阅资料!

    loading icon