序言
前言
关于引用作品的版权声明
第1章Oracle数据库入门 1
任务1 安装并配置Oracle数据库服务器 2
1.1.1 初识Oracle 2
1.1.2 Oracle体系结构 3
1.1.3 安装Oracle 5
1.1.4 Windows环境下启动Oracle数据库 6
1.1.5 修改Oracle数据库的配置文件 7
1.1.6 使用Client工具连接数据库 7
任务2 了解Oracle数据类型以及使用伪列实现分页查询 9
1.2.1 字符类型 10
1.2.2 数值类型 10
1.2.3 日期时间类型 11
1.2.4 LOB类型 12
1.2.5 使用伪列实现分页查询 13
任务3 使用SQL语句操作数据表 15
1.3.1 使用DDL操作数据表 15
1.3.2 使用DML操作数据表 17
1.3.3 使用TCL管理事务 21
1.3.4 使用DCL控制权限 22
任务4 使用SQL操作符操作数据表 25
1.4.1 使用算术操作符编写SQL语句 25
1.4.2 使用比较操作符编写SQL语句 25
1.4.3 使用逻辑操作符编写SQL语句 25
1.4.4 使用集合操作符编写SQL语句 25
1.4.5 使用连接操作符编写SQL语句 27
任务5使用SQL函数操作数据表 27
1.5.1 数据类型转换 27
1.5.2 滤空函数 29
1.5.3 使用分析函数 29
本章总结 32
本章练习 33
第2章 操作Oracle数据库 35
任务1 创建表空间、自定义用户管理 37
2.1.1 创建表空间 37
2.1.2 创建数据库用户 39
2.1.3 给用户授予权限 40
任务2 创建、访问、修改、删除、使用序列 42
2.2.1 创建序列的语法 42
2.2.2 访问序列的方式 44
2.2.3 修改序列的命令 44
2.2.4 删除序列的命令 45
2.2.5 序列应用场景 45
任务3 为员工表创建同义词 46
2.3.1 同义词的作用 46
2.3.2 同义词的分类 46
2.3.3 删除同义词 48
任务4 创建员工表索引 49
2.4.1 认识索引 49
2.4.2 创建合适的索引 49
2.4.3 创建索引注意事项 51
2.4.4 使用命令删除索引 51
2.4.5 重建索引应用场景 51
任务5 创建销售信息分区表 52
2.5.1 认识分区表 52
2.5.2 Oracle提供的分区方法 53
任务6 为员工表创建视图、创建数据库链 57
2.6.1 认识视图 57
2.6.2 创建数据库链 58
任务7 从Oracle数据库中导入导出数据 60
2.7.1 使用Oracle工具imp和exp导入导出数据 60
2.7.2 使用第三方工具PL/SQL Developer导入导出数据 62
任务8 优化SQL语句 64
2.8.1 查询优化产生背景 64
2.8.2 如何编写高性能的SQL语句 66
本章总结 67
本章练习 68
第3章 Hibernate初体验 69
任务1 搭建Hibernate环境 70
3.1.1 Hibernate框架由来 70
3.1.2 为什么选择Hibernate框架 71
3.1.3 Hibernate与MyBatis的对比 72
3.1.4 搭建Hibernate环境 72
任务2 使用Hibernate API实现持久化操作 80
3.2.1 根据主键查询 83
3.2.2 使用Hibernate实现CRUD 86
任务3 Hibernate中Java对象的生命周期 89
3.3.1 Hibernate中持久化对象的生命周期 89
3.3.2 使用Hibernate API转换对象的状态 90
任务4 Hibernate脏检查及如何刷新缓存 92
3.4.1 什么是脏检查 92
3.4.2 Session如何刷新缓存 93
任务5 使用Hibernate API更新数据 93
本章总结 95
本章练习 96
第4章 HQL查询语言 97
任务1 使用HQL语句操作数据库 98
4.1.1 编写HQL语句 98
4.1.2 使用Query对象执行HQL语句 100
任务2 在HQL语句中绑定参数 103
4.2.1 HQL的参数绑定 103
4.2.2 绑定不同数据类型的参数 105
4.2.3 Hibernate动态设置查询参数的方式 108
4.2.4 使用Hibernate API之uniqueResult( )方法 111
任务3 实现分页和投影查询 113
4.3.1 Hibernate分页查询API 114
4.3.2 Hibernate投影查询API 115
任务4 使用MyEclipse反向工程工具 117
本章总结 122
本章练习 122
第5章 配置Hibernate关联映射 125
任务1 了解关联关系 126
任务2 建立单向多对一关联关系 127
5.2.1 配置单向多对一关联关系 127
5.2.2 如何持久化多对一关联关系的对象 129
任务3 建立双向一对多关联关系 132
5.3.1 配置双向一对多关联关系 133
5.3.2 双向关联的增删改操作 135
任务4 建立多对多关联关系 141
5.4.1 配置单向多对多关联关系 142
5.4.2 配置双向多对多关联关系 144
任务5 使用MyEclipse反向工程工具映射关联关系 146
任务6 配置查询加载策略 147
5.6.1 配置类级别的查询加载策略 148
5.6.2 配置一对多和多对多关联的查询加载策略 150
5.6.3 配置多对一关联的查询加载策略 152
5.6.4 如何配置Open Session In View模式 154
本章总结 156
本章练习 156
第6章 HQL连接查询与Hibernate注解 159
任务1 使用HQL连接查询 160
任务2 分组进行数据统计 163
6.2.1 HQL查询语句中常用的聚合函数 163
6.2.2 编写HQL分组查询语句 165
任务3 使用子查询 167
6.3.1 使用子查询关键字进行查询结果量化 167
6.3.2 操作集合的函数或属性 170
任务4 优化查询性能 171
任务5 使用注解配置持久化类和关联关系 173
6.5.1 认识Hibernate注解 173
6.5.2 使用Hibernate注解配置持久化类 173
6.5.3 使用Hibernate注解配置关联关系 177
6.5.4 使用MyEclipse反向工程工具生成注解映射 180
本章总结 181
本章练习 181
第7章Struts 2初体验 183
任务1 Struts 2基础 184
7.1.1 Struts 2的由来 184
7.1.2 下载Struts 2资源包 185
任务2 在项目中应用Struts 2 186
7.2.1 创建基于Struts 2框架的Web项目 186
7.2.2 编写Struts 2的入门程序 187
7.2.3 使用Struts 2编写登录功能 193
任务3 使用Struts 2访问Servlet API对象 196
7.3.1 使用解耦的方式访问Servlet API 196
7.3.2 使用耦合的方式访问Servlet API 199
任务4 使用Struts 2进行数据的校验 200
任务5 使用Struts 2标签 201
7.5.1 Struts 2标签之UI标签 201
7.5.2 Struts 2标签之通用标签 203
本章总结 207
本章练习 207
第8章Struts 2配置 209
任务1 解析Struts 2执行过程 210
8.1.1 分析编写登录程序步骤 210
8.1.2 Struts 2常用配置文件介绍 214
任务2 配置Action 216
8.2.1 Action工作流程 217
8.2.2 使用method属性配置Action 218
8.2.3 在Action中调用动态方法 219
8.2.4 在Action中使用通配符 220
8.2.5 配置默认的Action 221
任务3 配置Result结果类型 222
8.3.1 结果类型分类 222
8.3.2 配置动态结果 224
8.3.3 配置全局结果 225
本章总结 228
本章练习 228
第9章 OGNL表达式 229
任务1 初识OGNL 230
任务2 了解OGNL在框架中的作用 231
9.2.1 OGNL处理流入数据 231
9.2.2 OGNL处理流出数据 232
9.2.3 值栈的作用 232
任务3 理解数据类型转换 233
9.3.1 类型转换的原因 233
9.3.2 Struts 2提供的内置类型转换器 234
9.3.3 编写自定义类型转换器 237
9.3.4 类型转换错误的处理方法 239
任务4 使用OGNL表达式操作数据 241
9.4.1 OGNL表达式语言的强大作用 241
9.4.2 使用OGNL访问ActionContext中的数据 243
9.4.3 使用OGNL查看ActionContext中的数据 245
9.4.4 OGNL表达式在Struts 2标签中的应用 246
任务5 使用URL标签和日期标签简化代码开发 247
9.5.1 Struts 2标签之URL标签 247
9.5.2 Struts 2标签之日期标签 248
本章总结 250
本章练习 251
第10章 Struts 2拦截器 253
任务1 分析Struts 2的架构 254
任务2 配置Struts 2拦截器 256
10.2.1 拦截器的作用 256
10.2.2 分析拦截器的工作原理 257
10.2.3 配置拦截器 259
10.2.4 Struts 2的内置拦截器 261
10.2.5 配置Struts 2内置拦截器栈 262
10.2.6 实现自定义拦截器并进行配置 263
任务3 使用Struts 2框架实现文件上传功能 266
10.3.1 下载上传依赖包 266
10.3.2 使用commons-fileupload实现文件上传 266
10.3.3 使用commons-fileupload实现多文件上传 269
任务4 使用Struts 2框架实现文件下载功能 270
10.4.1 配置stream结果类型 271
10.4.2 Struts 2实现文件下载的步骤 271
本章总结 274
本章练习 274
第11章 SSH框架整合 277
任务1 使用SSH搭建Web应用 278
11.1.1 认识SSH 278
11.1.2 分析整合SSH的方案 278
任务2 将Spring和Hibernate进行整合 280
11.2.1 配置SessionFactory的方式 280
11.2.2 使用HibernateTemplate API简化DAO层 282
任务3 编写业务层并添加声明式事务管理 285
11.3.1 编写Service业务层接口 285
11.3.2 添加声明式事务管理 286
任务4 将Spring和Struts 2进行整合 288
任务5 修改web.xml配置 291
11.5.1 在web.xml中配置ContextLoaderListener 291
11.5.2 在web.xml中配置OpenSessionInViewFilter 291
任务6 使用HibernateCallback开发自定义功能 296
任务7 Spring和Struts 2整合进阶 297
任务8 使用注解整合SSH框架 300
11.8.1 使用Hibernate注解配置ORM映射 300
11.8.2 使用Spring注解进行SSH框架整合 302
11.8.3 使用Spring注解配置声明式事务管理 304
本章总结 305
本章练习 306
附录 309
附录1 安装Oracle 309
附录2 配置数据库 313
附录3 单行函数 320
附录4 卸载数据库 321
附录5 创建数据库连接 323