图书介绍
EJB JPA数据库持久层开发实践详解PDF|Epub|txt|kindle电子书版本网盘下载
![EJB JPA数据库持久层开发实践详解](https://www.shukui.net/cover/1/32257685.jpg)
- 冯曼菲等编著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121062629
- 出版时间:2008
- 标注页数:508页
- 文件大小:178MB
- 文件页数:530页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
EJB JPA数据库持久层开发实践详解PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一篇 初识JPA2
第1章 JPA概述2
1.1 什么是数据持久化3
1.2 Java持久化技术3
1.2.1 序列化(Serialization)3
1.2.2 JDBC6
1.2.3 关系对象映射(ORM)7
1.2.4 对象数据库(ODB)8
1.2.5 Java数据对象(JDO)8
1.2.6 EJB 2.X8
1.3 JPA(Java Persistence API)概述8
1.3.1 什么是JPA8
1.3.2 JPA的历史9
1.3.3 下载JPA规范9
1.3.4 JPA的优势10
1.3.5 EJB 3与JPA的关系11
1.3.6 常见的实现JPA的框架11
1.4 对象关系映射(ORM)11
1.4.1 什么是对象关系映射12
1.4.2 对象关系映射模式12
1.5 本章小结12
第2章 搭建JPA开发和运行环境13
2.1 JBoss概述14
2.1.1 JBoss Application Server14
2.1.2 JBoss IDE for Eclipse15
2.2 JBoss应用服务器的搭建15
2.2.1 下载和安装JBoss服务器15
2.2.2 启动JBoss服务器16
2.2.3 停止JBoss服务器16
2.2.4 JBoss的文件目录结构16
2.3 JBoss IDE开发环境的搭建17
2.3.1 下载JBoss IDE for Eclipse17
2.3.2 Eclipse中配置JBoss19
2.3.3 Eclipse中启动和停止JBoss20
2.4 MySQL数据库的下载和安装21
2.4.1 MySQL数据库概述21
2.4.2 下载MySQL21
2.4.3 安装MySQL22
2.4.4 运行MySQL24
2.4.5 下载MySQL客户端25
2.5 本章小结26
第3章 JPA之初体验27
3.1 第一个Entity实体类28
3.1.1 第一个POJO类28
3.1.2 数据库中对应的表29
3.1.3 使用注释(Annotations)配置ORM映射29
3.1.4 配置persistence.xml31
3.2 第一个SessionBean32
3.2.1 定义Remote接口32
3.2.2 SessionBean类33
3.3 使用EntityManager操作实体34
3.3.1 依赖注入EntityManager34
3.3.2 添加Entity34
3.3.3 根据主键查找Entity34
3.3.4 更新Entity35
3.3.5 删除Entity35
3.3.6 执行查询35
3.4 部署EJB35
3.4.1 打EJB-JAR包35
3.4.2 部署EJB36
3.4.3 配置DataSource数据源36
3.4.4 启动JBoss服务器37
3.4.5 查看JBoss控制台JMX-Console38
3.5 调用EJB的Client39
3.5.1 TestClient类39
3.5.2 运行Client40
3.6 本章小结41
第4章 JPA开发工具42
4.1 Eclipse Dali JPA概述43
4.1.1 什么是Dali JPA43
4.1.2 下载Dali JPA43
4.1.3 Dali JPA界面预览44
4.2 连接数据库44
4.3 开始JPA开发45
4.3.1 创建JPA项目45
4.3.2 创建持久化类46
4.4 本章小结47
第二篇 JPA进阶50
第5章 映射持久化对象(Entity)50
5.1 实体映射基础51
5.1.1 简单的POJO类51
5.1.2 映射实体(@Entity)53
5.1.3 无参的构造方法53
5.1.4 实现Serializable接口54
5.1.5 可继承性54
5.1.6 标注主键(@Id)54
5.1.7 默认实体映射54
5.2 映射表和字段56
5.2.1 映射表(@Table)56
5.2.2 映射方法和属性(@Column)58
5.2.3 可持久化的基本数据类型60
5.2.4 映射优化一:基本数据类型VS封装类60
5.2.5 映射优化二:@Basic设置加载方式61
5.3 主键映射62
5.3.1 主键标识(@Id)62
5.3.2 自增主键63
5.3.3 表生成器(@TableGenerator)63
5.3.4 Sequence生成器(@Sequence)66
5.3.5 Identity生成器67
5.3.6 复合主键(@IdClass)67
5.3.7 嵌入式主键(@EmbeddedId)70
5.3.8 几种主键生成策略的比较71
5.4 映射特殊类型72
5.4.1 映射Blob和Clob类型(@Lob)72
5.4.2 映射时间(Temporal)类型(@Temporal)73
5.4.3 映射枚举(Enumerated)型74
5.5 映射非持久化类型(@Transient)77
5.6 本章小结77
第6章 实体关系映射78
6.1 实体关系概述79
6.1.1 实体关系的方向性79
6.1.2 实体关系的数量性80
6.2 一对一(@OneToOne)81
6.2.1 单向关联(Unidirectional)81
6.2.2 一对一(@OneToOne)83
6.2.3 关联指定列(@JoinCo1umn)83
6.2.4 双向关联(Bidirectional)85
6.2.5 主键关联(@PrimaryKeyJoinColumn)86
6.2.6 默认关联88
6.2.7 一对一映射的一般步骤88
6.3 一对多(@OneToMany)89
6.3.1 一对多模型(单向)89
6.3.2 映射策略89
6.3.3 映射策略——外键关联89
6.3.4 一对多(@OneToMany)90
6.3.5 映射策略——表关联91
6.3.6 表关联(@JoinTable)92
6.3.7 默认关联93
6.4 多对一(@ManyToOne)94
6.4.1 多对一模型(单向)94
6.4.2 映射策略——外键关联94
6.4.3 多对一(@ManyToOne)95
6.4.4 默认关联95
6.5 高级一对多和多对一映射95
6.5.1 双向关联模型95
6.5.2 双向关联96
6.5.3 一对多(多对一)映射的一般步骤96
6.6 多对多(@ManyToMany)97
6.6.1 多对多模型(单向)97
6.6.2 映射策略——表关联97
6.6.3 @ManyToMany98
6.6.4 双向关联模型99
6.6.5 默认关联99
6.6.6 多对多映射的一般步骤100
6.7 集合类的选择100
6.7.1 集合类的区别101
6.7.2 带排序的集合101
6.7.3 带Key值的集合102
6.8 关系映射示例:客户关系管理系统103
6.8.1 实体关系类图103
6.8.2 数据库表结构104
6.8.3 客户实体105
6.8.4 地址实体107
6.8.5 联系人实体108
6.8.6 头像实体109
6.8.7 电话实体110
6.8.8 订单实体111
6.8.9 订单明细实体112
6.8.10 产品实体113
6.9 本章小结114
第7章 实体映射的高级应用115
7.1 多表映射116
7.1.1 两个表映射为一个实体116
7.1.2 从表注释(@SecondaryTable)118
7.1.3 多个表映射为一个实体119
7.1.4 多个从表注释(@SecondaryTables)120
7.2 嵌入映射120
7.2.1 嵌入映射表结构120
7.2.2 嵌入类120
7.2.3 嵌入到实体121
7.2.4 映射属性(@AttributeOverride)121
7.3 实体的继承策略122
7.3.1 类结构关系图122
7.3.2 三种继承策略123
7.3.3 继承关系的实体保存在一个表(SINGLE_TABLE)123
7.3.4 每个实体子类保存在一个表(JOINED)128
7.3.5 每个实体类保存在一个表(TABLE_PER_CLASS)130
7.3.6 三种继承策略对比133
7.4 深入实体继承134
7.4.1 继承自抽象(abstract)实体类134
7.4.2 继承自非映射实体类(Mapped Superclasses)135
7.4.3 继承自非实体类137
7.4.4 继承的设计重构138
7.4.5 带继承关系的实体查询(多态)138
7.5 本章小结139
第8章 实体管理器(EntityManager)140
8.1 实体管理器概述141
8.1.1 什么是实体管理器141
8.1.2 Entity Manager API141
8.1.3 EntityManager方法详解142
8.2 操作实体(CRUD)146
8.2.1 创建实体(持久化)146
8.2.2 持久化带关系的实体147
8.2.3 根据主键查找实体149
8.2.4 实体属性及实体的加载方式150
8.2.5 更新实体152
8.2.6 更新实体关系153
8.2.7 删除实体154
8.2.8 删除关联的实体154
8.3 实体的生命周期155
8.3.1 实体的几种状态155
8.3.2 瞬时状态(Transient)156
8.3.3 持久化状态(Persisted)156
8.3.4 托管状态(Attatched或Managed)156
8.3.5 游离状态(Detached)157
8.3.6 销毁状态(Removed)157
8.3.7 分析实体状态实例158
8.4 实体的高级操作159
8.4.1 实体的联级操作159
8.4.2 获得实体的另一种方式160
8.4.3 同步数据库(flush与flushType)160
8.4.4 refresh()和clear()方法162
8.5 实体监听器(Listener)162
8.5.1 回调事件(Callback Events)162
8.5.2 监听器定义在实体中163
8.5.3 监听器定义在实体外165
8.5.4 默认实体监听器166
8.5.5 继承中的实体监听器167
8.5.6 监听器的调用顺序169
8.5.7 几种监听实体方式的比较169
8.6 本章小结170
第9章 查询(Query)171
9.1 Query概述172
9.1.1 一个简单的查询示例172
9.1.2 Query API173
9.1.3 Query方法详解174
9.1.4 Query的简化写法176
9.2 JPQL入门177
9.2.1 查询实体177
9.2.2 查询实体属性178
9.2.3 查询关联实体179
9.3 准备查询180
9.3.1 查询参数方法一——命名设置参数180
9.3.2 查询参数方法二——位置设置参数181
9.3.3 不带参数的查询181
9.3.4 查询策略的选择181
9.3.5 分页查询182
9.3.6 设置提示(Hints)183
9.3.7 设置提交模式(FlushMode)183
9.4 命名查询(Named Query)183
9.4.1 命名查询示例183
9.4.2 定义查询命名184
9.4.3 @NamedQuery注释184
9.5 查询结果的处理185
9.5.1 执行查询185
9.5.2 查询结果的类型186
9.5.3 查询结果为实体186
9.5.4 查询结果为基本数据类型187
9.5.5 查询结果为数组187
9.5.6 查询结果为自定义对象188
9.6 本地查询(Native Query)189
9.6.1 本地查询概述189
9.6.2 执行本地查询189
9.6.3 查询结果与实体映射191
9.6.4 自定义查询映射191
9.6.5 @SqlResultSetMapping193
9.6.6 @NamedNativeQuery本地命名查询195
9.7 查询技巧197
9.7.1 日期类型的查询197
9.7.2 动态查询201
9.8 本章小结203
第10章 查询语言(JPQL)204
10.1 JPQL基础205
10.1.1 JPQL基本语法205
10.1.2 SELECT子句205
10.1.3 继承实体的查询206
10.2 FROM语句206
10.2.1 FROM基本语法206
10.2.2 基于集合实体的查询(关联查询)207
10.2.3 关联查询207
10.2.4 内连接(INNER JOIN)209
10.2.5 左连接(LEFT JOIN)210
10.2.6 抓取连接(FETCH JOIN)210
10.2.7 唯一性查询(DISTINCT)211
10.3 WHERE语句211
10.3.1 WHERE基本语法211
10.3.2 直接量(Literals)212
10.3.3 查询条件操作符优先级212
10.3.4 算术操作符(Arithmetic Operators)213
10.3.5 逻辑操作符(Logic Operators)213
10.3.6 比较操作符(Comparison Operators)213
10.3.7 BETWEEN操作符214
10.3.8 IN操作符214
10.3.9 LIKE操作符216
10.3.10 NULL操作符216
10.3.11 EMPTY操作符217
10.3.12 MEMBER OF操作符217
10.4 函数表达式218
10.4.1 字符串函数218
10.4.2 数值函数219
10.4.3 日期函数219
10.5 子查询219
10.5.1 基本子查询219
10.5.2 EXISTS表达式220
10.5.3 ALL和ANY表达式220
10.6 分组查询221
10.6.1 分组查询基本语法221
10.6.2 分组查询函数222
10.7 ORDER BY表达式222
10.8 批量操作223
10.8.1 批量更新223
10.8.2 批量删除223
10.8.3 执行批量操作224
10.9 本章小结224
第三篇 JPA高级应用226
第11章 持久化上下文226
11.1 获得EntityManager对象227
11.1.1 Java EE环境与J2SE环境227
11.1.2 两种类型的EntityManager对象227
11.1.3 容器托管的(container-managed)EntityManager对象228
11.1.4 应用托管的(application-managed)EntityManager对象229
11.1.5 ThreadLocal的使用233
11.2 实体管理器工厂(EntityManagerFactory)234
11.2.1 javax.persistenc.Persistence API234
11.2.2 EntityManagerFactory API235
11.2.3 实现自己的JPA236
11.3 容器托管的EntityManager持久化上下文239
11.3.1 事务范围TRANSACTION239
11.3.2 扩展范围EXTENDED240
11.4 事务管理241
11.4.1 事务与EntityManager241
11.4.2 JTA管理事务242
11.4.3 RESOURCE_LOCAL管理事务244
11.4.4 EntityTransaction API244
11.5 应用托管的EntityManager的持久化上下文246
11.5.1 无状态的会话Bean与JTA事务(事务范围)246
11.5.2 无状态的会话Bean与JTA事务(扩展范围)246
11.5.3 有状态的会话Bean与JTA事务247
11.5.4 RESOURCE_LOCAL事务248
11.6 本章小结248
第12章 XML映射文件249
12.1 XML映射配置VS注释250
12.2 映射文件概述250
12.2.1 映射文件的保存位置250
12.2.2 获取映射文件DTD251
12.3 映射基础251
12.3.1 映射文件的基本结构251
12.3.2 映射文件的基本元素252
12.4 配置注释〈persistence-unit-metadata〉252
12.4.1 禁用注释〈xml-mapping-metadata-complete〉253
12.4.2 持久化单元的默认配置〈persistence-unit-defaults〉253
12.5 映射文件的默认配置256
12.5.1 〈package〉默认包名256
12.5.2 〈schema〉默认schema257
12.5.3 〈catalog〉默认catalog257
12.5.4 〈access〉默认访问类型258
12.6 配置查询、生成器和查询结果258
12.6.1 〈sequence-generator〉sequence生成器258
12.6.2 〈table-generator〉表生成器258
12.6.3 〈named-query〉命名查询259
12.6.4 〈named-native-query〉本地命名查询260
12.6.5 〈sql-result-set-mapping〉查询结果映射261
12.7 〈entity〉配置实体262
12.7.1 〈entity〉基本配置262
12.7.2 〈table〉配置表263
12.7.3 〈secondary-table〉配置从表263
12.7.4 〈attributes〉配置属性264
12.7.5 配置实体关系271
12.8 配置继承277
12.8.1 配置所有实体保存为一个表(SINGLE_TABLE)277
12.8.2 每个实体子类保存在一个表(JOINED)278
12.8.3 〈mapped-superclass〉配置非实体类279
12.9 配置嵌入类279
12.9.1 〈embeddable〉配置类280
12.9.2 〈embedded〉和〈attribute-override〉配置嵌入实体类280
12.10 配置实体监听器281
12.10.1 监听器定义在实体内281
12.10.2 监听器定义在实体外281
12.10.3 禁用父类监听器282
12.10.4 禁用默认监听器283
12.11 本章小结283
第13章 打包和部署284
13.1 Java EE应用打包概述285
13.1.1 Java EE包的类型285
13.1.2 EAR包结构285
13.1.3 EJB-JAR包结构287
13.1.4 WAR包结构287
13.2 Java EE类加载机制288
13.2.1 Java类加载器288
13.2.2 类加载顺序模型289
13.2.3 Java EE应用的加载顺序293
13.2.4 类加载原理示例295
13.3 配置persistence.xml298
13.3.1 保存位置299
13.3.2 persistence.xml的基本结构299
13.3.3 配置持久化单元名称300
13.3.4 配置事务类型300
13.3.5 配置实现者301
13.3.6 配置数据源301
13.3.7 配置映射文件304
13.3.8 配置管理类304
13.3.9 配置自定义配置306
13.4 JPA打包最佳实践306
13.4.1 J2SE打包最佳实践306
13.4.2 J2EE打包最佳实践——与EJB组件307
13.4.3 J2EE打包最佳实践——与Web应用309
13.5 本章小结311
第14章 JPA实现框架312
14.1 Hibernate JPA313
14.1.1 Hibernate与JPA313
14.1.2 Hibernate下载313
14.1.3 配置方式314
14.1.4 基本配置315
14.1.5 配置日志318
14.1.6 配置缓存319
14.1.7 配置JDBC和数据库320
14.1.8 其他的常用配置323
14.2 OpenJPA324
14.2.1 OpenJPA与JPA324
14.2.2 OpenJPA下载325
14.2.3 配置日志325
14.2.4 配置缓存327
14.2.5 配置JDBC和数据库328
14.2.6 增强器的使用(Enhancer)330
14.3 Toplink JPA330
14.3.1 Toplink与JPA331
14.3.2 Toplink下载331
14.3.3 配置日志331
14.3.4 配置缓存333
14.3.5 配置JDBC和数据库335
14.3.6 配置DDL337
14.3.7 其他自定义配置338
14.3.8 配置查询优化338
14.3.9 加载优化340
14.4 本章小结340
第15章 JPA与Spring集成341
15.1 Spring概述342
15.1.1 什么是Spring342
15.1.2 Spring的特性342
15.1.3 Spring与JPA343
15.2 开始Spring之旅344
15.2.1 IoC容器344
15.2.2 普通的Bean344
15.2.3 容器管理的Bean345
15.2.4 在容器中运行346
15.3 Spring中集成JPA348
15.3.1 集成前的准备348
15.3.2 配置EntityManagerFactory349
15.3.3 配置事务Transaction350
15.3.4 运行程序351
15.4 Spring Web框架352
15.4.1 Spring Web概述352
15.4.2 配置Spring Web应用353
15.4.3 开始Spring Web之旅353
15.5 Spring Web集成JPA355
15.5.1 集成前的准备355
15.5.2 配置数据源355
15.5.3 注入业务逻辑356
15.5.4 运行程序357
15.6 本章小结358
第四篇 典型案例360
第16章 学生成绩管理系统(Servlet+JPA)360
16.1 系统概述361
16.1.1 需求描述361
16.1.2 系统预览361
16.2 系统构架361
16.2.1 系统结构362
16.2.2 CharacterFilter362
16.2.3 异常处理363
16.3 数据库设计365
16.3.1 数据表UML365
16.3.2 SQL脚本365
16.4 JPA实体设计367
16.4.1 JPA实体UML367
16.4.2 JPA实体类代码367
16.4.3 persistence.xml配置373
16.4.4 JPA实体的部署375
16.5 班级模块375
16.5.1 添加页面addClass.jsp375
16.5.2 添加班级376
16.5.3 使用标注获取EntityManagerFactory380
16.5.4 班级列表380
16.5.5 修改班级382
16.5.6 删除班级384
16.6 课程模块385
16.6.1 添加、删除、修改课程386
16.6.2 选择听课学生389
16.7 学生模块393
16.7.1 分页显示学生列表394
16.7.2 添加修改删除学生398
16.8 分数模块403
16.8.1 添加学生成绩404
16.8.2 列出学生成绩404
16.9 本章小结407
第17章 宠物商店(Swing+JPA)408
17.1 系统概述409
17.1.1 需求描述409
17.1.2 系统预览409
17.2 系统构架409
17.2.1 系统构架410
17.2.2 实体类设计410
17.2.3 业务类实现412
17.2.4 Session Bean查找416
17.2.5 persistence.xml配置417
17.2.6 EJB3组件部署418
17.3 登录对话框419
17.3.1 登录对话框419
17.3.2 异常信息显示422
17.4 主购物窗口423
17.4.1 主购物窗口423
17.4.2 主购物窗口代码423
17.4.3 宠物列表Model428
17.4.4 添加宠物类别命令429
17.4.5 删除宠物类别命令434
17.4.6 添加宠物命令436
17.5 购买窗口439
17.5.1 购买对话框439
17.5.2 购物车对话框442
17.5.3 付款操作445
17.6 本章小结446
第18章 博客系统(Struts2+Spring2+JPA)447
18.1 系统概述448
18.1.1 需求描述448
18.1.2 系统预览448
18.2 系统构架448
18.2.1 系统构架449
18.2.2 执行流程449
18.3 实体类设计450
18.3.1 基础实体BaseBean450
18.3.2 用户实体Person451
18.3.3 爱好实体Hobby452
18.3.4 博客实体Blog452
18.3.5 类别实体Category453
18.3.6 文章实体Post453
18.3.7 登录信息类PersonInfo454
18.3.8 persistence.xml454
18.4 业务模块设计455
18.4.1 DAO层接口455
18.4.2 DAO层实现456
18.4.3 公共Service层接口457
18.4.4 公共Service层实现458
18.4.5 用户Service接口459
18.5 用户模块460
18.5.1 BaseAction基础类460
18.5.2 用户注册461
18.5.3 struts.xml配置463
18.5.4 ApplicationContext.xml配置465
18.5.5 web.xml配置467
18.5.6 register.jsp468
18.5.7 header.jsp,footer.jsp469
18.5.8 注册表单验证472
18.5.9 异常处理473
18.5.10 用户照片文件上传474
18.5.11 用户登录注销475
18.6 博客模块477
18.6.1 开通博客477
18.6.2 浏览博客480
18.7 类别模块482
18.7.1 类别列表482
18.7.2 添加类别485
18.7.3 浏览类别488
18.8 文章模块493
18.8.1 列出文章493
18.8.2 添加文章496
18.8.3 浏览文章498
18.9 本章小结500
附录A JPA ORM Annotation参考501
附录B 其他的JPA Annotation参考506