当前位置:首页 > 工业技术
Hibernate开发与实战
Hibernate开发与实战

Hibernate开发与实战PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:刘伟,张利国编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121092848
  • 页数:441 页
图书介绍:本书采用理论阐述、实例说明及视频讲解相结合的方式全面讲解了Hibernate编程的技术,内容上由浅入深。
《Hibernate开发与实战》目录

第1章 Hibernate起源 1

1.1 ORM框架 1

1.2 ORM核心理念 2

1.3持久层概念 3

1.4 Hibernate 3

1.4.1 Hibernate Core 4

1.4.2 Hibernate Annotations 4

1.4.3 Hibernate EntityManager 4

1.4.4 Hibernate Search 4

1.4.5 Hibernate Shards 4

1.4.6 Hibernate Validator 5

1.4.7 Hibernate Tools 5

1.4.8 NHibernate 5

1.4.9 JBoss Seam 5

1.5下载Hibernate 5

1.6使用Hibernate的第1个例子 6

1.6.1建立guestbook表 6

1.6.2新建chapter01_first项目 7

1.6.3项目文件列表 8

1.6.4编写hibernate.cfg.xml 9

1.6.5编写Guestbook.java 10

1.6.6编写Guestbook.hbm.xml 11

1.6.7 HibernateTest .java 13

1.6.8运行HibernateTest程序 14

1.6.9 chapter01_first项目的运行过程 14

第2章 Hibernate的核心接口与类 16

2.1 Configuration类 16

2.1.1 Hibernate配置文件 17

2.1.2在应用程序中设置新的属性值 18

2.1.3 Hibernate的核心配置信息 18

2.1.4数据库方言类 19

2.2 SessionFactory接口 20

2.3 Session接口 20

2.3.1 save()方法 21

2.3.2 get()方法 21

2.3.3 load()方法 22

2.3.4 update()方法 22

2.3.5 delete()方法 23

2.4 Transaction接口 24

2.5 Query接口 24

2.6 Criteria接口 25

2.7使用MyEclipse可视化开发Hibernate实例 25

2.7.1设置MyEclipse连接Oracle数据库 26

2.7.2新建项目并增加Hibernate开发支持 28

2.7.3自动生成Guestbook类与映射文件 31

2.7.4编写HibernateSessionFactoryUtil.java文件 35

2.7.5编写HibernateTest.java 36

2.7.6程序运行结果 37

2.7.7使用HQL编辑器调试HQL语句 38

2.8 Hibernate应用的开发方式 40

2.8.1自底向上,从数据库表到持久化类 40

2.8.2自上向下,持久化类到数据库表 40

2.8.3从中间出发,向上与向下发展 40

2.9设置Hibernate使用连接池 40

2.9.1设置使用Tomcat中的连接池 40

2.9.2使用C3P0连接池 41

2.9.3使用自定义连接池 41

2.10使用C3P0连接池 41

2.10.1创建chapter02 c3p0项目 41

2.10.2编辑hibernate.cfg.xml文件 42

2.10.3 chapter02 c3p0项目的运行与输出 43

2.11网络留言本V2.0 43

2.11.1建表 43

2.11.2创建guestbookv2.0项目 43

2.11.3编写StringUtil.j ava文件 44

2.11.4为项目添加Hibernate开发支持 45

2.11.5修改hibernate.cfg.xml的内容 45

2.11.6生成Guestbook .j ava与Guestbook.hbm.xml文件 45

2.11.7编写Guestbook在于Dao.java文件 46

2.11.8编写GuestbookDaoHibernate.java文件 46

2.11.9编写HibernateFactorySessionUtil .java 47

2.11.10编写AddMessageServlet.java文件 47

2.11.11编写GetMessagesServlet.java文件 49

2.11.12编写CharacterEncodingFilter.java 49

2.11.13修改web.xml文件 50

2.11.14编写headerjsp文件 51

2.11.15编写footer.htm文件 51

2.11.16使用JS Validation 52

2.11.17使用FCKeditor 54

2.11.18编写addMessage .jsp文件 56

2.11.19编写getMessages.j sp文件 58

2.11.20编写addResult.jsp文件 59

2.11.21编写error404.htm文件 59

2.11.22编写error500.jsp文件 60

2.11.23程序运行输出 60

第3章 标识符属性生成策略与对象识别 63

3.1数据库中的主键 63

3.1.1自然主键 63

3.1.2代理主键 64

3.2标识符属性 64

3.3标识符属性的生成策略 64

3.3.1 increment生成策略 64

3.3.2 identity生成策略 65

3.3.3 sequence生成策略 65

3.3.4 hilo生成策略未 65

3.3.5 seqhilo生成策略 66

3.3.6 uuid生成策略 66

3.3.7 guid生成策略 66

3.3.8 native生成策略 67

3.3.9 assigned生成策略 67

3.3.10 foreign生成策略 67

3.3.11选择标识符属性生成策略 67

3.4映射复合主键 68

3.4.1数据准备 68

3.4.2使用属性映射复合主键 68

3.4.3使用主键类映射复合主键 71

3.5对象识别 74

3.5.1 Java中的对象识别 74

3.5.2识别数据库中数据 75

3.5.3识别Hibernate中的持久化对象 75

3.6 Commons lang buider 78

3.6.1安装Commonclipse 78

3.6.2使用Commonclipse 79

第4章 持久化对象生命周期 80

4.1持久化对象生命周期的状态 80

4.1.1 Transient状态 80

4.1.2 Persistent状态 81

4.1.3 Detached状态 81

4.1.4 Removed状态 82

4.1.5 Session对象的“脏”数据检查 83

4.2 Session接口的核心方法 83

4.2.1 saveOrUpdate()方法 83

4.2.2 merge()方法 84

4.2.3 flush()方法 85

4.2.4 close()方法 85

4.3不可更改的持久化对象 86

第5章 OSIV与泛型DAO模式 87

5.1 OSIV模式 87

5.1.1使用 Servlet过滤器实现OSIV模式 88

5.1.2配置web.xml文件 89

5.2泛型DAO的设计与实现 89

5.2.1编写泛型DAO接口 90

5.2.2编写泛型DAO的实现类 90

5.2.3使用GenericDao接口 91

5.2.4使用GenericDaoHibernate类 92

5.3网络留言本V2.1 92

5.3.1新建guestbookv2.1项目 92

5.3.2建立admin表 93

5.3.3文件列表 93

5.3.4生成Admin .java与Admin.hbm.xml文件 94

5.3.5增加hibernate.cfg.xml文件 95

5.3.6编写AdminDao.java文件 95

5.3.7编写AdminDaoHibernate .java文件 95

5.3.8修改GetMessagesServlet .java文件 96

5.3.9编写AdminUserServlet .java文件 96

5.3.10编写AuthenticationFilter java文件 98

5.3.11编写ManageServlet.java文件 99

5.3.12编写login .j sp文件 100

5.3.13修改validation-framework.js文件 101

5.3.14修改validation-config.xml文件 101

5.3.15 编写loginFail.jsp文件 102

5.3.16编写list .jsp文件 102

5.3.17编写edit.jsp文件 103

5.3.18编写editResult.jsp文件 104

5.3.19编写deleteResult.jsp文件 105

5.3.20修改web.xml文件 105

5.3.21程序运行结果 107

第6章 Hibernate的集合映射 108

6.1 Set集合映射 108

6.1.1 Set接口 108

6.1.2 Set映射 110

6.2 List映射 115

6.2.1 List接口 115

6.2.2 List映射 116

6.3 Bag映射 118

6.4 IdBag映射 121

6.5 Map映射 123

6.5.1 Map接口 123

6.5.2 HashMap 123

6.5.3 LinkedHashMap 124

6.5.4 TreeMap 124

6.5.5 Map映射 125

6.6排序集合映射 128

6.6.1利用<set>或<map>标签的sort属性排序 128

6.6.2利用SQL的order by子句排序 130

第7章 组件映射 132

7.1组件(Component)映射的单向关联 132

7.1.1数据准备 132

7.1.2编写Profile.java文件 133

7.1.3编写User java文件 133

7.1.4编写User.hbm.xml文件 134

7.1.5编写HibernateTest .java文件 135

7.1.6程序运行输出 136

7.2组件映射的双向关联 137

7.3组件集合映射 138

7.3.1数据准备 138

7.3.2编写Image.java文件 139

7.3.3编写Product .j ava文件 140

7.3.4编写Product.hbm.xml文件 141

7.3.5编写HibernateTest.java文件 142

7.3.6组件集合映射的双向关联 144

第8章 映射多对一及一对多关联关系 145

8.1多对一单向关联 145

8.1.1数据准备 145

8.1.2编写Category.java与Category.hbm.xml文件 146

8.1.3编写Product .java与Product.hbm.xml文件 147

8.1.4编写HibernateTest.java文件 148

8.1.5 outer-join属性 151

8.2一对多单向关联 151

8.2.1数据准备 151

8.2.2编写Product.java与Product.hbm.xml文件 152

8.2.3编写Categoryjava与Category.hbm.xml文件 152

8.2.4编写HibernateTest.java文件 154

8.3级联 156

8.4一对多双向关联 157

8.4.1数据准备 158

8.4.2编写Product.ava与Product.hbm.xml文件 158

8.4.3编写Category.java与Categoryhbm.xml文件 158

8.4.4编写HibernateTest .java文件 159

8.5控制反转(Inverse) 160

第9章 映射一对一关联关系 163

9.1共享主键关联 163

9.1.1数据准备 163

9.1.2编写Userjava与User.hbm.xml文件 164

9.1.3编写Profile.java与Profile.hbm.xml文件 165

9.1.4编写HibernateTest.java文件 166

9.2唯一外键关联 168

9.2.1准备数据 168

9.2.2编写Profile .java与Profile.hbm.xml文件 169

9.2.3编写User java与User.hbm.xml文件 169

9.2.4编写HibernateTest.java文件 170

第10章 映射多对多关联关系 171

10.1多对多单向关联 171

10.1.1准备数据 171

10.1.2编写Product .java与Product.hbm.xml文件 173

10.1.3编写Orderjava与Order.hbm.xml文件 173

10.1.4 Order与Product的类图 175

10.1.5编写HibernateTest.j ava文件 175

10.2多对多双向关联 177

10.2.1准备数据 178

10.2.2编写Orderjava与Order.hbm.xml文件 178

10.2.3编写Product.java与Product.hbm.xml文件 179

10.2.4 Order与Product类的类图 179

10.2.5编写HibernateTest.java文件 180

10.3在多对多关联中使用组件集合映射 181

10.3.1准备数据 182

10.3.2编写Product .java与Product.hbm.xml文件 182

10.3.3编写OrderItem.j ava文件 182

10.3.4编写Order.java与Order.hbm.xml文件 183

10.3.5 Product、 Order与OrderItem的类图 185

10.3.6编写HibernateTest.java文件 185

10.4分拆多对多关联为两个一对多关联 187

10.4.1数据准备 187

10.4.2编写Product.java与Product.hbm.xml文件 187

10.4.3编写OrderItem .java与Orderltem.hbm.xml文件 187

10.4.4编写Orderjava与Order.hbm.xml文件 188

10.4.5编写HibernateTest.java文件 189

第11章 Criteria查询 190

11.1准备数据 190

11.1.1创建guestbook、 product和category表 190

11.1.2在guestbook、 product和category表中添加演示数据 191

11.1.3实例文件 191

11.2 Criteria的基本使用 192

11.2.1 Criteria接口的主要方法 192

11.2.2 Criterion接口 193

11.2.3排序查询结果 194

11.2.4分页显示数据 194

11.2.5查询一条记录 195

11.2.6通过关联对象建立查询条件 196

11.2.7 Restrictions类 196

11.2.8条件“或”方式组合查询条件 197

11.2.9使用原生SQL语句设置查询条件 198

11.2.10统计函数查询 198

11.2.11统计函数组合查询条件 199

11.2.12获取多个统计函数的值 199

11.2.13分组查询 200

11.2.14分组统计 200

11.2.15 为分组统计结果指定别名 201

11.2.16投影查询 202

11.2.17使用Property类的forName()方法实现分组统计 203

11.3使用DetachedCriteria对象实现离线查询 204

11.4根据示例对象查询 205

第12章 HQL与Native SQL查询 206

12.1准备数据 206

12.2 Query接口 206

12.2.1 list()方法 207

12.2.2 iterate()方法 207

12.2.3选择list()和iterate()方法 208

12.2.4使用setMaxResults()和setFirstResult()方法实现分页 208

12.2.5使用uniqueResult()方法读取唯一记录 209

12.3 HQL基础 209

12.3.1查询所有持久化对象 209

12.3.2投影查询 210

12.3.3使用别名 212

12.3.4使用distinct关键字 213

12.3.5限定查询的条件 213

12.3.6数据排序 216

12.3.7使用参数占位符 216

12.3.8使用统计函数 217

12.3.9使用函数 218

12.4 HQL的批量更新 218

12.5 HQL中的连接查询 219

12.5.1使用交叉连接 219

12.5.2使用内连接 220

12.5.3使用左外连接 221

12.5.4使用右外连接 222

12.5.5迫切内连接 223

12.5.6迫切左外连接 225

12.6命名的HQL 225

12.7使用SQL 226

12.7.1 SQL查询 226

12.7.2 SQL更新记录 228

12.7.3 SQL删除记录 228

12.7.4命名的SQL 229

12.7.5调用存储过程 229

12.8使用SQLQuery对象实现动态表映射 230

12.8.1准备数据 230

12.8.2编写Loglnfo.java文件 231

12.8.3编写Loglnfo.hbm.xml文件 231

12.8.4编写HibernateTest.java文件 232

12.9在Hibernate中调用数据库存储过程 233

12.9.1准备数据 233

12.9.2调用数据库存储过程 234

12.10在Hibernate中使用JDBC 234

12.10.1准备数据 235

12.10.2调用数据库存储过程 235

第13章 Hibernate的事务管理 236

13.1数据库事务 236

13.1.1事务的特性 237

13.1.2编程式与声明式事务 237

13.1.3在JDBC中使用事务 237

13.1.4并发访问数据可能引发的问题 239

13.1.5事务隔离级别 241

13.2 Hibernate中的事务 243

13.2.1在Hibernate中事务管理API 243

13.3锁 244

13.4 Hibernate中的锁定模式 245

13.5悲观锁 245

13.5.1使用Query对象的setLockMode()方法设置悲观锁 245

13.5.2使用Sessoin对象的lock()方法设置悲观锁 246

13.6乐观锁 246

13.6.1以版本号方式实现乐观锁 247

13.6.2时间戳实现乐观锁 250

第14章 继承映射 252

14.1继承关系层次一个表 253

14.1.1创建delivery表 253

14.1.2编写Delivery.java文件 254

14.1.3编写PostDelivery. java文件 254

14.1.4编写ExpressDelivery. java文件 254

14.1.5编写Delivery.hbm.xml文件 254

14.1.6编写HibernateTest .java文件 255

14.1.7继承关系层次一个表的优缺点 257

14.2每个具体类一个表 257

14.2.1创建post_delivery和express delivery表 258

14.2.2编写Delivery.java文件 258

14.2.3编写 PostDelivery.java文件 259

14.2.4编写ExpressDelivery.java文件 259

14.2.5编写Delivery.hbm.xml文件 259

14.2.6编写HibernateTest.java文件 260

14.2.7每个具体类一个表的优缺点 261

14.3每个子类一个表 261

14.3.1创建delivery、 post_ delivery和express_delivery表 262

14.3.2编写Delivery.java文件 262

14.3.3编写PostDelivery. java文件 263

14.3.4编写ExpressDelivery. java 263

14.3.5编写Delivery.hbm.xml文件 263

14.3.6编写HibernateTest.java文件 263

14.4每个子类一个表的优缺点 265

14.5小结 265

第15章 Hibernate过滤器 266

15.1概念 266

15.2配置 266

15.2.1使用<filter-def>标签定义过滤器 266

15.2.2使用<filter>标签声明使用过滤器 267

15.3调用Hibernate过滤器 267

15.3.1 Session接口中与Filter对象有关的方法 267

15.3.2调用Hibernate过滤器的示例 268

15.4小结 269

第16章 数据拦截与事件监听 270

16.1拦截器 270

16.1.1 Interceptor接口的方法 270

16.1.2使用拦截器实现审计日志 271

16.2 Hibernate的事件监听 274

16.2.1应用Hibernate事件监听器 275

16.2.2使用监听器实现审计日志 275

16.2.3事件监听与拦截器的比较 280

第17章 Hibernate的缓存 281

17.1持久层缓存的概念 281

17.1.1持久层缓存的级别 281

17.2 Hibernate的一级缓存 282

17.2.1一级缓存的实现原理 283

17.2.2管理一级缓存 283

17.3 Hibernate的二级缓存 284

17.3.1二级缓存的策略 285

17.3.2应用EHCache作为二级缓存 286

17.3.3缓存集合对象 288

17.3.4管理二级缓存 289

17.4查询缓存 290

17.4.1查询缓存的实现原理 290

17.4.2使用查询缓存 291

17.5应用memcached作为二级缓存 292

17.5.1 memcached 292

17.5.2 Hibernate-memcached 292

17.5.3在Hibernate应用中使用memcached 293

17.6缓存对get()、 load()、 list()和iterator()方法的影响 295

17.7小结 296

第18章 Hibernate的性能优化 297

18.1使用dynamic-insert与dynamic-update 297

18.1.1应用<class>标签的dynamic-insert与dynamic-update属性 298

18.2延迟加载 298

18.2.1持久化对象的延迟加载 299

18.2.2集合对象的延迟加载 301

18.2.3属性的延迟加载 303

18.2.4解决org.hibernate.Lazy InitializationException违例问题 303

18.3集合对象的抓取策略 304

18.3.1查询抓取 305

18.3.2子查询抓取 307

18.3.3连接查询抓取 308

18.3.4批量抓取 309

18.3.5 Hibernate的“1+N”问题 310

第19章 Hibernate Annotations组件 312

19.1下载Hibernate Annotations组件 312

19.2使用 Annotations实现一对多双向关联映射 313

19.2.1准备数据 313

19.2.2在当前项目中添加Hibernate Annotations类库 313

19.2.3编写Product.java和Category.java文件 313

19.2.4编写hibernate.cfg.xml文件 317

19.2.5编写HibernateTest.java文件 317

19.3 Hibernate Annotations组件核心注解 318

19.3.1注解属性或者方法 318

19.3.2 Hibernate Annotations组件核心注解 318

19.3.3注解VS映射文件 319

19.4 Hibernate EntityManager 320

19.4.1 Java Persistence API 320

19.4.2下载Hibernate EntityManager 320

19.4.3应用Hibernate EntityManager 320

第20章 Hibernate Search组件 323

20.1搜索引擎 323

20.1.1全文检索引擎 323

20.1.2目录索引搜索引擎 324

20.1.3元搜索引擎 324

20.2 Lucene 324

20.3 Hibernate Search组件 325

20.3.1 Hibernate Search组件的特点 325

20.3.2使用Hibernate Search组件 325

20.4使用Luke工具查看索引数据 330

20.5中文分词 331

20.5.1概念 331

20.5.2中文分词的基本机制 331

20.5.3 Hibernate Search使用第三方中文分词组件 332

第21章 Hibernate与 Struts 2 334

21.1 Struts 2框架 334

21.1.1 Struts 2框架的特点 335

21.1.2下载Struts 2 335

21.2编写第1个Struts 2程序 336

21.2.1新建Web项目添加Struts类库 336

21.2.2修改web.xml文件配置Struts2的过滤器 337

21.2.3编写login.jsp文件 337

21.2.4编写LoginAction .java文件 338

21.2.5编写loginResult .jsp文件 340

21.2.6编写struts.xml文件 340

21.2.7项目部署后的运行效果 341

21.3 Struts 2的内部结构 342

21.3.1 Struts 2的处理流程 343

21.4网络留言本V2.2 344

21.4.1新建guestbookv2.2项目 344

21.4.2所需文件列表 344

21.4.3编写Guestbook Action .java文件 345

21.4.4编写AdminAction .java文件 347

21.4.5编写struts.xml文件 348

21.4.6修改web.xml文件 349

21.4.7修改addMessage.jsp文件 350

21.4.8修改login.jsp文件 351

21.4.9部署运行项目 352

第22章 Hibernate与Spring Framework 353

22.1 Spring简介 353

22.1.1 Spring的子模块 353

22.1.2下载Spring 354

22.2 IoC容器 355

22.2.1容器的概念 355

22.2.2 IoC设计模式 355

22.2.3 Spring的IoC容器 356

22.2.4使用Spring IoC容器示例 356

22.3 Spring AOP 359

22.3.1 OOP的不足 359

22.3.2 AOP技术 360

22.3.3 Spring AOP 360

22.3.4 AOP的专有名词 361

22.3.5 Spring AOP中的常用通知类型 361

22.3.6使用AspectJ 5的注解实现Spring AOP 362

22.3.7 AspectJ的切入点表达式语法 364

22.4 Spring对Hibernate的支持 365

22.4.1简化获取SessionFactory对象 365

22.4.2 HibernateTemplate类 368

22.4.3 HibernateDaoSupport类 371

22.4.4 Spring对事务的支持 372

22.4.5声明式事务的参数定义 373

22.4.6使用Spring注解管理事务的示例 375

22.5 Guestbook v2.3版 377

22.5.1新建Guestbookv2.3项目 377

22.5.2文件列表 378

22.5.3修改web.xml文件 378

22.5.4修改DAO实现类 379

22.5.5修改Servlet文件 380

22.5.6编写ApplicationContext.xml 380

22.5.7项目运行输出 381

22.6小结 382

第23章 KH网络博客系统 383

23.1系统需求分析 383

23.1.1确定用户 383

23.1.2系统功能 384

23.2系统设计 384

23.2.1系统结构设计 384

23.2.2数据库设计 385

23.2.3设计域模型 390

23.2.4持久层设计 391

23.2.5业务逻辑层设计 392

23.2.6表现层的设计 392

23.2.7 Action类设计 393

23.2.8权限控制设计 394

23.2.9分页设计 394

23.2.10数据校验设计 397

23.2.11订阅博客功能设计 399

23.2.12设置开发环境 399

23.2.13 Java包名与组织结构设计 400

23.3编码实现 400

23.3.1创建项目 400

23.3.2域模型代码 400

23.3.3持久层的相关代码 403

23.3.4业务逻辑层的相关代码 412

23.3.5表现层的相关代码 421

23.4部署运行KH网络博客系统 440

23.5小结 441

相关图书
作者其它书籍
返回顶部