Java Web整合开发王者归来:JSP+Servlet+Struts+Hibernate+Spring

Java Web整合开发王者归来:JSP+Servlet+Struts+Hibernate+Spring
作 者: 刘京华
出版社: 清华大学出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: J2EE
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  刘京华,毕业于山东大学计算机科学与技术学院。先后任职于用友软件、IBM中国研究院、Symbian中国研究院等公司或机构。毕业后一直从事Java开发,有超过10年的Java开发经验。精通Java Web开发的各种技术与框架,对图形化开发、Eclipse插件开发等各种技术也有深入研究。曾经开发过大型的分布式Web系统。参与开发过中国移动、中国联通、中国电信的网关系统。参与开发过物流管理系统、供应链处理系统、联想公司的RMS系统、IBM的Smart SCOR和Nokia Carbide平台。

内容简介

《Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)》全面介绍了Java Web开发中的各种相关技术及知识。全书分为9篇,内容层次清晰,难度循序渐进。第1篇为入门篇,内容包括Java Web开发概述等;第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为Struts框架篇,内容不仅包括Struts 1.x的内容,也包括Struts 2.x中的内容;第5篇为Hibernate框架篇;第6篇为Spring框架篇;第7篇为EJB与Web服务篇,内容包括EJB 3概述、JPA规范Web服务框架XFire等;第8篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版本管理工具SVN、日志工具commons-logging与Log4J、报表图形引擎JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系统:论坛系统(Spring+Struts+Hibernate)、宠物商店(EJB 3+JPA+Struts 2)。《Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)》附1张DVD光盘,内容为《Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)》汲及的源代码和Java Web学习视频。《Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)》内容全面,结构清晰,注重实战,非常适合Java Web开发人员学习使用,同时也可以作为软件公司的案头必备参考书。

图书目录

第1篇 入门篇

第1章 Java Web开发概述

1.1 Web相关概念

1.1.1 胖客户端程序RCP

1.1.2 瘦客户端程序TCP

1.1.3 B/S与C/S结构

1.2 Web开发背景知识

1.2.1 Web访问基本原理

1.2.2 HTTP超文本传输协议

1.2.3 Web浏览器

1.2.4 Web服务器

1.3 Web开发技术发展历史

1.3.1 传统的Web服务器模式开发

1.3.2 动态展现页面技术

1.3.3 CGI实现页面的动态生成

1.3.4 Java Servlet:改进的CGI

1.3.5 JSP:Servlet的模板

1.3.6 JSP基本原理

1.4 本章小结

第2章 搭建Java Web开发环境

2.1 Java Web开发环境概述

2.1.1 开发工具包JDK

2.1.2 集成开发环境IDE

2.1.3 Java服务器

2.2 下载安装Java环境

2.2.1 下载JDK

2.2.2 安装JDK

2.2.3 配置环境变量

2.3 下载解压Eclipse

2.3.1 下载Eclipse

2.3.2 解压Eclipse

2.4 下载MyEclipse插件

2.4.1 下载MyEclipse插件

2.4.2 安装MyEclipse插件

2.4.3 启动MyEclipse

2.5 下载Tomcat服务器

2.5.1 下载Tomcat

2.5.2 解压配置Tomcat

2.5.3 设置端口号

2.5.4 设置临时域名

2.5.5 设置虚拟主机

2.6 第一个Java Web程序

2.6.1 新建Java Web项目

2.6.2 新建Servlet

2.7 部署到Tomcat

2.7.1 手工部署

2.7.2 MyEclipse自动部署

2.7.3 导出为WAR包

2.7.4 在MyEclipse中启动Tomcat

2.7.5 调试程序debug模式

2.8 本章小结

第2篇 基础篇

第3章 深入Servlet技术

3.1 HTTP协议

3.1.1 HTTP协议简介

3.1.2 Telnet演示HTTP协议

3.1.3 GET方式查询

3.1.4 HTTP头数据

3.1.5 POST方式提交数据

3.1.6 其他访问方式

3.2 Servlet概述

3.2.1 Servlet工作流程

3.2.2 Servlet接口

3.2.3 Java Web目录结构

3.3 编写Servlet

3.3.1 实现Servlet

3.3.2 配置

3.3.3 配置

3.3.4 部署Web程序

3.4 请求与响应

3.4.1 获取request的变量

3.4.2 response生成图片验证码

3.5 读取web.xml参数

3.5.1 初始化参数(init-param)

3.5.2 上下文参数(context-param)

3.5.3 资源注射(@Resource)

3.5.4 使用JNDI获取资源

3.5.5 注射数据源

3.6 提交表单信息

3.6.1 GET实现搜索引擎

3.6.2 POST提交个人信息

3.6.3 上传文件客户端

3.6.4 上传文件服务器端

3.7 带进度条的文件上传

3.7.1 工作原理

3.7.2 上传进度条

3.7.3 上传监听器

3.7.4 监听上传进度

3.7.5 读取上传进度

3.7.6 显示上传进度

3.8 Servlet生命周期

3.8.1 Servlet生命周期

3.8.2 个税计算器

3.8.3 注解@PostConstruct与注解@PreDestroy

3.9 Servlet之间的跳转

3.9.1 转向(Forward)

3.9.2 重定向(Redirect)

3.9.3 自动刷新(Refresh)

3.10 Servlet与线程安全

3.10.1 一个实例

3.10.2 线程不安全

3.11 本章小结

第4章 深入JSP技术

4.1 JSP简介

4.1.1 JSP概述

4.1.2 显示问候语

4.1.3 JSP工作原理

4.1.4 JSP生命周期

4.2 JSP语法

4.2.1 JSP元素与模板数据

4.2.2 JSP脚本

4.2.3 JSP输出

4.2.4 JSP注释

4.2.5 JSP方法:查询IP地址

4.2.6 JSP的if语句

4.2.7 JSP的for循环

4.2.8 while循环:显示邮件列表

4.2.9 JSP的return语句

4.2.10 JSP的break语句

4.3 JSP指令

4.3.1 page指令

4.3.2 include指令

4.3.3 taglib指令

4.4 JSP行为

4.4.1 行为

4.4.2 使用Java Bean(POJO)

4.4.3 scope实现各种计数器

4.4.4 嵌入Applet

4.4.5 行为

4.4.6 行为

4.5 JSP隐藏对象

4.5.1 out输出流对象

4.5.2 request请求对象

4.5.3 response响应对象

4.5.4 config配置对象

4.5.5 session会话对象

4.5.6 application应用程序对象

4.5.7 page页面对象

4.5.8 pageContext页面上下文对象

4.5.9 exception异常对象

4.6 JSP配置

4.6.1 JSP配置

4.6.2 标签

4.7 EL表达式

4.7.1 EL表达式

4.7.2 隐藏对象

4.7.3 EL表达式运算

4.8 本章小结

第5章 会话跟踪

5.1 Cookie机制

5.1.1 什么是Cookie

5.1.2 记录用户访问次数

5.1.3 Cookie的不可跨域名性

5.1.4 Unicode编码:保存中文

5.1.5 BASE64编码:保存二进制图片

5.1.6 设置Cookie的所有属性

5.1.7 Cookie的有效期

5.1.8 Cookie的修改、删除

5.1.9 Cookie的域名

5.1.10 Cookie的路径

5.1.11 Cookie的安全属性

5.1.12 JavaScript操作Cookie

5.1.13 案例:永久登录

5.2 Session机制

5.2.1 什么是Session

5.2.2 实现用户登录

5.2.3 Session的生命周期

5.2.4 Session的有效期

5.2.5 Session的常用方法

5.2.6 Session对浏览器的要求

5.2.7 URL地址重写

5.2.8 Session中禁止使用Cookie

5.3 Session与Cookie的比较

5.3.1 从存取方式上比较

5.3.2 从隐私安全上比较

5.3.3 从有效期上比较

5.3.4 从对服务器的负担上比较

5.3.5 从浏览器支持上比较

5.3.6 从跨域名上比较

5.4 本章小结

第6章 过滤器Filter

6.1 Filter概述

6.1.1 Filter概述

6.1.2 Filter接口

6.1.3 Filter配置

6.2 Filter经典案例

6.2.1 防盗链Filter

6.2.2 字符编码Filter

6.2.3 日志记录Filter

6.2.4 异常捕捉Filter

6.2.5 权限验证Filter

6.2.6 内容替换Filter

6.2.7 GZIP压缩Filter

6.2.8 图像水印Filter

6.2.9 缓存Filter

6.2.10 XSLT转换Filter

6.2.11 文件上传Filter

6.3 本章小结

第7章 监听器Listener

7.1 Listener概述

7.1.1 Listener的概述

7.1.2 Listener的使用

7.2 Listener的分类

7.2.1 监听对象的创建与销毁

7.2.2 实例:监听Session、request与servletContext

7.2.3 监听对象的属性变化

7.2.4 监听Session内的对象

7.3 Listener使用案例

7.3.1 单态登录

7.3.2 显示在线用户

7.4 本章小结

第3篇 高级篇

第8章 JSTL标签库

8.1 JSTL概述

8.1.1 什么是标签

8.1.2 一个标签实例

8.1.3 为什么使用标签

8.1.4 JSTL标签库

8.2 JSTL的core标签库

8.2.1 标签

8.2.2 标签

8.2.3 、、标签

8.2.4 显示偶数

8.2.5 标签遍历List

8.2.6 标签遍历Map对象

8.2.7 标签的varStatus属性

8.2.8 标签

8.2.9 实现计数器

8.2.10 标签

8.2.11 捕捉异常

8.2.12 导入网络资源

8.2.13 标签

8.2.14 标签

8.2.15 标签

8.3 JSTL的fmt标签库

8.3.1 设置编码

8.3.2 显示所有地区的数据格式

8.3.3 显示全球时间

8.3.4 设置时区

8.3.5 、、资源国际化

8.3.6 标签

8.3.7 显示不同地区的各种数据格式

8.3.8 解析数字

8.3.9 格式化日期

8.3.10 解析日期

8.4 JSTL的fn方法库

8.4.1 fn:contains()显示用户浏览器、操作系统

8.4.2 fn:containsIgnoreCase()方法

8.4.3 fn:endsWith()显示文件格式

8.4.4 fn:startsWith()方法

8.4.5 fn:escapeXml()实现HTML编码

8.4.6 fn:indexOf()方法

8.4.7 fn:split()分割字符

8.4.8 fn:join()联合字符

8.4.9 fn:length()方法

8.5 JSTL的SQL标签库

8.5.1 设置数据源

8.5.2 查询表数据

8.5.3 分页显示

8.5.4 结果集的动态遍历

8.5.5 更新表数据

8.5.6 , 设置日期参数

8.5.7 事务管理

8.6 JSTL的XML标签库

8.6.1 获取新浪RSS新闻

8.6.2 输出指定元素

8.6.3 遍历新浪RSS新闻

8.6.4 标签

8.6.5 、、标签

8.6.6 标签

8.6.7 转化XML为HTML

8.7 本章小结

第9章 自定义标签

9.1 编写自定义标签

9.1.1 版权标签

9.1.2 tld标签库描述文件

9.1.3 方法的调用顺序

9.1.4 使用TagSupport

9.1.5 带参数的标签

9.1.6 带多个参数的标签

9.1.7 带标签体的自定义标签

9.1.8 多次执行的循环标签

9.1.9 带动态属性的自定义标签

9.2 嵌套的自定义标签

9.2.1 实例:表格标签

9.2.2 嵌套标签的配置

9.2.3 table父标签

9.2.4 column子标签

9.2.5 运行效果

9.3 JSP 2.x标签

9.3.1 SimpleTag接口

9.3.2 带标签体的JSP 2.x标签

9.3.3 带多个标签体的JSP 2.x标签

9.4 编写自定义方法

9.4.1 自定义方法

9.4.2 方法描述文件

9.5 本章小结

第10章 资源国际化

10.1 资源国际化简介

10.1.1 I18N

10.1.2 I10N

10.2 资源国际化

10.2.1 资源国际化示例

10.2.2 资源文件编码

10.2.3 显示所有Locale代码

10.2.4 带参数的资源

10.2.5 ResourceBundle类

10.2.6 Servlet的资源国际化

10.2.7 显示所有Locale的数字格式

10.2.8 显示全球时间

10.3 本章小结

第11章 数据库概述

11.1 数据库简介

11.1.1 发展历史

11.1.2 数据库模型

11.1.3 SQL、DDL与DML

11.2 MySQL数据库

11.2.1 MySQL安装与配置

11.2.2 MySQL启动与关闭

11.2.3 bin目录下的程序

11.2.4 登录MySQL

11.2.5 MySQL控制台

11.2.6 控制台信息

11.3 DDL SQL语句

11.3.1 列出数据库模式

11.3.2 切换数据库模式

11.3.3 列出数据表

11.3.4 查看表结构

11.3.5 创建数据库模式

11.3.6 删除数据库模式

11.3.7 修改数据库模式

11.3.8 创建表

11.3.9 删除表

11.3.10 修改表

11.4 DML SQL语句

11.4.1 插入数据

11.4.2 查询数据

11.4.3 删除数据

11.4.4 修改数据

11.4.5 创建,删除,授权用户

11.4.6 批量执行SQL语句

11.5 MySQL客户端工具

11.5.1 MySQL图形界面工具

11.5.2 MyEclipse管理工具

11.6 Apache Derby

11.6.1 Derby概述

11.6.2 Derby的使用

11.6.3 使用嵌入式Derby记录日志

11.7 本章小结

第12章 JDBC详解

12.1 JDBC简介

12.1.1 查询实例:列出人员信息

12.1.2 各种数据库的连接

12.2 MySQL的乱码解决

12.2.1 MySQL的乱码解决

12.2.2 从控制台修改编码

12.2.3 从配置文件修改编码

12.2.4 利用图形界面工具修改

12.2.5 URL中指定编码方式

12.3 JDBC基本操作:CRUD

12.3.1 查询数据库

12.3.2 插入人员信息

12.3.3 注册数据库驱动

12.3.4 获取自动插入的ID

12.3.5 删除人员信息

12.3.6 修改人员数据

12.3.7 使用PreparedStatement

12.3.8 Statement批处理SQL

12.3.9 PreparedStament批处理SQL

12.4 处理结果集

12.4.1 查询多个结果集

12.4.2 可以滚动的结果集

12.4.3 Pagination分页显示

12.4.4 带条件的查询

12.4.5 ResultSetMetaData元数据

12.4.6 直接显示中文列名

12.5 JDBC高级应用

12.5.1 DAO模式与Java Bean

12.5.2 事务实例:转账

12.5.3 抛出异常自动回滚

12.5.4 存储二进制数据

12.5.5 读取二进制数据

12.5.6 数据源(连接池)

12.6 本章小结

第13章 XML概述

13.1 初识XML

13.1.1 什么是XML

13.1.2 XML的用途

13.1.3 XML的技术架构

13.1.4 XML开发工具

13.2 XML基本语法

13.2.1 XML文档的基本结构

13.2.2 标记必须闭合

13.2.3 必须合理地嵌套

13.2.4 XML 元素

13.2.5 XML 属性

13.2.6 只有一个根元素

13.2.7 大小写敏感

13.2.8 空白被保留

13.2.9 注释的写法

13.2.10 转义字符的使用

13.2.11 CDATA的使用

13.3 JDK中的XML API

13.4 XML解析模型

13.4.1 DOM解析

13.4.2 SAX解析

13.5 XML与Java类映射JAXB

13.5.1 什么是XML与Java类映射

13.5.2 JAXB的工作原理

13.5.3 Java对象转化成XML(marshal)

13.5.4 XML转化为Java对象(unmarshal)

13.5.5 更为复杂的映射

13.6 本章小结

第4篇 Struts框架篇

第14章 Struts 1.x概述

14.1 Struts简介

14.1.1 Struts概述

14.1.2 MVC概述

14.2 第一个Struts 1.x实例

14.2.1 添加Struts特性

14.2.2 创建HelloAction

14.2.3 完成HelloAction

14.2.4 添加输入页JSP

14.2.5 添加输出页

14.3 Struts工作流程

14.4 Struts配置文件

14.4.1 Struts配置文件详解

14.4.2 多个struts-config.xml

14.4.3 配置命名空间

14.5 Form Bean实例:提交用户信息

14.5.1 用户信息对应的Form Bean

14.5.2 用户信息输入页面

14.5.3 用户信息校验

14.5.4 Form Bean中使用Person实体类

14.6 Action的配置

14.6.1 Action与ActionForward配置

14.6.2 把JSP配置为Action

14.7 Action实例:保存用户信息到数据库

14.7.1 在struts-config.xml中配置数据源

14.7.2 Person类代码

14.7.3 数据表设计

14.7.4 Action代码:保存用户信息

14.7.5 Form Bean代码:用户信息表单

14.7.6 Action代码:列出用户信息

14.7.7 DAO层代码:保存、列出用户信息

14.7.8 JSP代码:添加、列出用户信息

14.8 Struts 1.x的线程安全

14.8.1 Action是线程不安全的

14.8.2 Form Bean是线程安全的

14.9 本章小结

第15章 Struts 1.x高级应用

15.1 Struts 1.x标签库

15.1.1 html标签库

15.1.2 bean标签库

15.1.3 logic标签库

15.1.4 nested标签库

15.1.5 tiles标签库

15.2 DispatchAction

15.2.1 利用action参数分发

15.2.2 DispatchAction

15.2.3 配置DispatchAction

15.3 上传文件

15.3.1 FormFile类型

15.3.2 保存FormFile

15.4 Validator自动校验数据

15.4.1 支持自动校验的ValidatorForm

15.4.2 Validate规则配置

15.4.3 错误信息配置

15.4.4 配置到struts-config.xml中

15.4.5 配置客户端JavaScript校验

15.5 动态属性Form Bean

15.5.1 动态属性表单DynaActionForm

15.5.2 Action中获取动态属性

15.5.3 JSP中使用动态属性

15.6 异常处理

15.6.1 异常捕捉ExceptionHandler

15.6.2 配置ExceptionHandler

15.7 struts-config.xml中使用通配符

15.8 本章小结

第16章 Struts 2.x概述

16.1 Struts 2.x简介

16.1.1 Struts 2简介

16.1.2 Struts 2与WebWork 2的关系

16.2 第一个Struts 2实例

16.2.1 下载Struts 2类库

16.2.2 登录功能Action

16.2.3 Struts 2配置文件

16.2.4 JSP登录页面

16.2.5 配置web.xml

16.2.6 更改.action后缀

16.3 Struts 2工作流程

16.3.1 Struts 2工作流程

16.3.2 Struts 2的线程安全

16.3.3 程序入口FilterDispatcher

16.4 Struts 2配置文件

16.4.1 struts.properties

16.4.2 struts.xml

16.4.3 配置package

16.4.4 配置命名空间

16.5 Action详解

16.5.1 ActionSupport类

16.5.2 Action接口

16.5.3 不继承任何类的Action

16.5.4 Action的可执行方法

16.5.5 通过URL执行Action的方法

16.5.6 将执行方法配置到Action

16.6 Struts 2的零配置

16.6.1 通过@注解实现Action零配置

16.6.2 web.xml中指定Action目录

16.6.3 零配置的Action访问方式

16.7 Action中使用POJO

16.7.1 图书管理Action

16.7.2 图书实体Book类

16.7.3 通配符配置Action

16.7.4 JSP添加、列表页面

16.8 本章小结

第17章 Struts 2.x高级应用

17.1 数据类型转换器

17.1.1 实例:日期转换器

17.1.2 配置转换器

17.1.3 Action代码示例

17.1.4 为Action配置转换器

17.2 获取request、response

17.2.1 利用ServletActionContext的静态方法

17.2.2 利用相关的Aware接口

17.3 使用Validator校验数据

17.3.1 使用XML配置数据校验Validator

17.3.2 配置客户端Validator

17.3.3 常用的Validator

17.3.4 使用@Java注解配置Validator

17.4 本章小结

第18章 Struts 2.x标签

18.1 Struts 2.x标签

18.1.1 Struts 2标签与EL表达式

18.1.2 Struts 2标签tld文件

18.2 OGNL语言

18.2.1 OGNL概述

18.2.2 “#”声明OGNL表达式

18.2.3 “%”显式声明OGNL表达式

18.2.4 “$”在资源文件中引用OGNL表达式

18.3 控制标签

18.3.1 if、elseif、else标签控制流程

18.3.2 append标签连接多个List

18.3.3 generator标签将字符转化为List

18.3.4 iterator标签遍历集合

18.3.5 merge标签取集合的并集

18.3.6 subset标签过滤集合元素

18.4 数据标签

18.4.1 action标签包含action页面

18.4.2 bean标签引用Java Bean

18.4.3 date标签输出日期

18.4.4 i18n、text标签声明资源国际化

18.4.5 include标签包含JSP页面

18.4.6 param标签传递参数

18.4.7 set标签设置变量值

18.4.8 property标签输出变量值

18.5 表单UI标签

18.5.1 form标签输出表单

18.5.2 textfield、textarea、file、checkbox、radio标签

18.5.3 select、autocomplete标签下拉框

18.5.4 使用动态数据的autocomplete标签

18.5.5 checkboxlist标签多选框组

18.5.6 combobox标签复合框

18.5.7 datetimepicker标签日期选择器

18.5.8 doubleselect标签联动选择框

18.5.9 optiontransferselect标签

18.5.10 optgroup标签选项组

18.6 非表单UI标签

18.6.1 debug标签输出调试信息

18.6.2 fielderror、actionerror、actionmessage标签错误信息

18.6.3 div、submit、a标签实现无刷新获取数据

18.6.4 无刷新实现登录、注销

18.6.5 tabbedPanel标签页

18.6.6 tree标签输出树

18.6.7 使用tree显示文件结构

18.6.8 使用tree动态加载数据

18.7 本章小结

第19章 Struts 2.x拦截器与文件上传

19.1 使用拦截器

19.1.1 timer计时拦截器

19.1.2 token防重复提交拦截器

19.1.3 execAndWait执行等待拦截器

19.1.4 自定义的权限验证拦截器

19.2 上传文件

19.2.1 上传文件的Action

19.2.2 上传文件的JSP表单

19.2.3 上传文件相关的设置

19.2.4 错误信息设置

19.2.5 上传多个文件

19.3 本章小结

第5篇 Hibernate框架篇

第20章 Hibernate入门

20.1 Hibernate简介

20.1.1 ORM概述

20.1.2 认识Hibernate

20.1.3 Hibernate的原理

20.2 第一个Hibernate程序

20.2.1 添加Hibernate特性

20.2.2 添加Hibernate的Jar

20.2.3 配置Cat实体类

20.2.4 修改Hibernate配置文件

20.2.5 修改Hibernate工具类

20.2.6 初始化MySQL数据库

20.2.7 配置Log4J

20.2.8 执行Hibernate程序

20.3 第一个Hibernate Web程序

20.3.1 DAO层代码

20.3.2 Servlet层代码

20.3.3 列出所有的Cat

20.3.4 添加Cat

20.3.5 修改Cat

20.3.6 删除Cat

20.4 本章小结

第21章 从宏观上把握Hibernate

21.1 Hibernate体系结构

21.2 Hibernate的相关概念

21.3 可持久化对象的状态

21.4 Hibernate配置参数

21.4.1 配置文件hibernate.properties、hibernate.cfg.xml

21.4.2 编程式配置、运行时配置

21.4.3 获取SessionFactory

21.4.4 获取、断开数据库连接

21.4.5 可选的配置参数

21.4.6 Hibernate日志

21.5 本章小结

第22章 Hibernate实体映射

22.1 实体类映射

22.1.1 @注解配置

22.1.2 XML文件配置

22.1.3 配置到hibernate.cfg.xml中

22.2 主键映射

22.2.1 @配置主键

22.2.2 XML配置主键

22.3 主键生成规则

22.3.1 @主键生成规则

22.3.2 XML主键生成规则

22.4 普通属性映射

22.4.1 @配置普通属性

22.4.2 XML配置普通属性

22.5 日期属性配置

22.5.1 @配置日期属性

22.5.2 XML配置日期属性

22.6 临时属性映射

22.7 版本属性配置

22.7.1 乐观锁与悲观锁

22.7.2 @配置乐观锁

22.7.3 XML配置乐观锁

22.8 本章小结

第23章 Hibernate实体关系映射

23.1 单边的一对多关系:电子邮件管理

23.1.1 UML、数据库关系

23.1.2 @配置Person2类

23.1.3 @配置Email类

23.1.4 配置到Hibernate.cfg.xml中

23.1.5 运行代码

23.1.6 延迟加载与即时加载

23.1.7 延迟加载异常

23.1.8 XML配置Person类

23.1.9 XML配置Email类

23.1.10 加载XML配置的实体

23.1.11 配置String类型的实体

23.2 单边的多对一关系:论文管理

23.2.1 UML、数据库关系

23.2.2 @配置Type类

23.2.3 @配置Article类

23.2.4 配置到Hibernate.cfg.xml

23.2.5 运行代码

23.2.6 XML配置Type类

23.2.7 XML配置Article类

23.3 双边的多对一、一对多关系:学生属性

23.3.1 UML、数据库关系

23.3.2 @配置Clazz类

23.3.3 @配置Student类

23.3.4 配置到Hibernate.cfg.xml

23.3.5 运行代码

23.3.6 XML配置Clazz类

23.3.7 XML配置Student类

23.4 单边的多对多关系:论坛文章管理

23.4.1 UML、数据库关系

23.4.2 @配置Tag类

23.4.3 @配置Post类

23.4.4 运行代码

23.4.5 XML配置Tag类

23.4.6 XML配置Post类

23.5 双边的多对多关系

23.5.1 @配置Tag类

23.5.2 XML配置Tag类

23.6 单边的一对一关系:舰船管理

23.6.1 UML、数据库关系

23.6.2 @配置Ship类

23.6.3 @配置Sailor类

23.6.4 运行代码

23.6.5 XML配置Ship类

23.6.6 XML配置Sailor类

23.7 双边的一对一关系

23.7.1 @配置Ship类

23.7.2 XML配置Ship类

23.8 主键相同的一对一关系:客户地址管理

23.8.1 UML、数据库关系

23.8.2 @配置Customer类

23.8.3 @配置Address类

23.8.4 运行代码

23.8.5 XML配置Customer类