《Java数据库编程宝典》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)John ODonahue等著;甄广启,于耀等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2003
  • ISBN:7505383914
  • 页数:547 页
图书介绍:

前言 1

第1部分 介绍数据库、SQL和JDBC 5

第1章 关系型数据库 7

1.1 理解关系型数据库管理系统 7

1.1.1 关系模型 7

1.1.2 Codd法则 8

1.1.3 表、行、列和关键字 9

1.1.4 主键 11

1.1.5 外键 12

1.1.6 关系 14

1.1.7 视图 14

1.1.8 范式化 15

1.2 高级语言 19

1.2.1 结构化查询语言 20

1.2.2 数据定义语言 20

1.2.3 数据处理语言 21

1.2.4 数据查询语言 21

1.3 事务管理和事务控制命令 24

1.3.1 ACID测试 24

1.3.2 SQL中的事务管理 25

1.4 数据库安全和数据控制语言 26

1.4.1 管理数据库用户 26

1.4.2 用户权限 26

1.4.3 用户组和角色 27

1.5.2 两层模型 28

1.5 数据库体系结构 28

1.5.1 Java数据对象 28

1.5.3 三层模型 29

1.6 小结 30

第2章 设计数据库 31

2.1 数据库设计应考虑的事项 31

2.1.1 项目规范 32

2.1.2 设计表 36

2.1.3 生成发票 41

2.2 引用完整性 43

2.2.1 通用完整性规则 43

2.3 小结 44

2.2.2 特定于数据库的完整性规则 44

第3章 SQL基础 45

3.1 SQL语言 45

3.2 SQL数据类型 46

3.3 数据定义语言 47

3.3.1 创建、取消、更改数据库和表 47

3.3.2 创建、更改和取消视图 50

3.4 数据处理语言 51

3.4.1 INSERT语句 52

3.4.2 UPDATE语句 53

3.4.3 DELETE语句 55

3.5 数据查询语言 55

3.5.2 WHERE子句 56

3.5.1 SELECT语句 56

3.5.3 SQL运算符 57

3.5.4 使用子查询 64

3.6 对查询结果排序 68

3.7 将查询结果进行汇总 69

3.7.1 集合函数 70

3.7.2 使用HAVING子句来筛选组 70

3.7.3 使用索引提高SQL查询效率 71

3.7.4 格式化SQL命令 72

3.7.5 使用SQL连接 72

3.7.6 编写SQL的JOIN命令 74

3.7.7 使用UNION运算符进行组合查询 79

3.8.1 管理用户 80

3.8 数据控制语言 80

3.8.2 授予和取消用户权限 81

3.9 创建和使用存储过程 81

3.9.1 在存储过程中使用输入参数 82

3.9.2 存储过程中使用输出参数 83

3.10 小结 83

第4章 JDBC入门 85

4.1 什么是JDBC 85

4.2 两层和三层模型 87

4.2.1 两层模型 87

4.2.2 三层模型 88

4.3 SQL的一致性 88

4.4 JDBC兼容性 89

4.5 JDBC如何工作 90

4.5.1 DriverManager 90

4.5.2 JDBC DataSource 92

4.5.3 DataSource对象和JNDI 93

4.5.4 部署和使用DataSource的基本实现 93

4.6 连接池 94

4.7 分布式事务处理 95

4.7.1 分布式事务管理 96

4.7.2 Connection对象 96

4.8 SQL语句 97

4.8.1 Statement对象 98

4.8.2 PreparedStatement语句 98

4.8.3 CallableStatement 100

4.9 事务 102

4.9.1 事务独立性等级 103

4.9.2 事务存储点 104

4.9.3 多线程 105

4.10 批更新 105

4.11 ResultSet 106

4.12 可滚动的ResultSet 109

4.12.1 创建可滚动的ResultSet 109

4.12.2 游标控制 110

4.12.3 将游标移动到指定行 110

4.12.4 获得游标位置 111

4.13 可更新的ResultSet 111

4.13.1 更新ResultSet 112

4.13.2 插入一新行 114

4.13.3 删除行 115

4.14 观察ResultSet中的变化 115

4.15 RowSet对象 116

4.16 创建Rowset和设置属性 117

4.16.1 Rowset事件 118

4.17 元数据 118

4.17.1 DatabaseMetaData 118

4.17.2 ResultSetMetaData 120

4.17.3 ParameterMetaData方法 121

4.18 SQL数据类型的JDBC映射 121

4.19 SQL3数据类型 122

4.19.2 使用SQL3数据类型 123

4.19.1 对象关系型数据库 123

4.19.3 创建用户定义的数据类型 125

4.20 异常和日志 127

4.20.1 SQLException 127

4.20.2 SQLWarning 127

4.20.3 BatchUpdateException 127

4.20.4 日志 127

4.21 小结 129

第2部分 在两层客户/服务器结构中使用JDBC和SQL 131

第5章 使用JDBC和SQL创建表 133

5.1 创建数据库 133

5.2 使用表 133

5.2.2 SQL数据类型 134

5.2.1 记录和字段、行和列 134

5.2.3 完整性约束 135

5.3 创建表 136

5.4 使用JDBC创建表 136

5.4.1 DriverManager 137

5.4.2 驱动程序 137

5.4.3 连接 137

5.4.4 Statement 137

5.5 使用ALTER TABLE改变表 139

5.6 删除或取消表 141

5.7 创建基于Swing的表构建器 141

5.7.1 控制程序 141

5.7.2 视图 144

5.7.3 模型 149

5.8 小结 150

第6章 插入、更新和删除数据 151

6.1 使用SQL INSERT插入数据 151

6.1.1 INSERT语句 152

6.1.2 使用带有JDBC的INSERT 153

6.1.3 使用INSERT...SELECT 154

6.2 UPDATE语句 155

6.2.1 在UPDATE中使用经计算的值 156

6.2.2 UPDATE的常见问题 156

6.3 带有提交和回滚的事务管理 157

6.5 基于Swing的表编辑器 160

6.4 DELETE语句 160

6.5.1 TableEditFrame 162

6.5.2 Controller类 164

6.6 JDBC ResultSetMetaData 167

6.7 小结 170

第7章 使用SQL查询检索数据 171

7.1 SELECT语句 171

7.1.1 使用WHERE子句 171

7.1.2 格式化SQL命令 172

7.2 在较复杂的WHRER子句中使用运算符 173

7.2.1 DISTINCT运算符 173

7.2.2 TOP运算符 173

7.2.3 比较运算符 174

7.2.4 CHAR和VARCHAR运算符 175

7.2.5 逻辑运算符 176

7.2.6 算术运算符 177

7.2.7 混合运算符:IN和BETWEEN 179

7.2.8 集合运算符 180

7.3 转义序列 180

7.4 子查询 181

7.4.1 使用ANY,SOME和ALL谓词 182

7.4.2 使用IN和NOT IN谓词 183

7.4.3 使用EXISTS和NOT EXISTS谓词 183

7.4.4 嵌套子查询 184

7.4.5 测试子查询 184

7.5.2 使用带有INSERT命令的子查询 186

7.5 子查询的额外用途 186

7.5.1 在SELECT列表中使用子查询 186

7.5.3 使用带有UPDATE命令的子查询 187

7.5.4 使用带有DELETE命令的子查询 187

7.5.5 关联子查询 187

7.6 JDBC ResultSet 188

7.6.1 ResultSetMetaData 189

7.6.2 使用具有JDBC的SELECT来返回RecordSet 189

7.7 基于Swing的SQL查询面板 192

7.7.1 View菜单 192

7.7.2 TableQueryFrame 193

7.8 JDBC代码 198

7.9 小结 201

8.1 使用ORDER BY对查询结果进行排序 203

第8章 组织查询结果和使用索引 203

8.2 GROUP BY子句 204

8.3 聚合函数 205

8.4 使用HAVING子句筛选组 207

8.5 使用索引来提高SQL查询的性能 207

8.6 视图 209

8.7 小结 211

第9章 连接和组合查询 213

9.1 连接表 213

9.1.1 连接的类型 213

9.2 键 214

9.3 使用内连接 215

9.3.1 使用等连接 215

9.2.1 主键 215

9.2.2 外键 215

9.3.2 使用非等连接 219

9.4 使用外连接 219

9.4.1 左外连接 220

9.4.2 右外连接 220

9.4.3 全外连接 221

9.4.4 使用NOT EXISTS 222

9.5 使用自连接 223

9.6 使用UNION运算符合并查询 224

9.6.2 INTERSECT运算符 226

9.7 小结 226

9.6.1 EXCEPT运算符 226

第10章 构建一个客户/服务器应用程序 227

10.1 使用不同的数据库和驱动程序 227

10.1.1 扩展的DBManager类 229

10.2 使用DatabaseMetaData 234

10.3 检索与数据库相关的信息 235

10.3.1 在JTree中显示DatabaseMetaData 238

10.4 检索有关RDBMS功能性的信息 241

10.5 使用ResultSetMetaData 243

10.6 小结 244

第3部分 三层Web站点与JDBC 245

第11章 构建会员Web站点 247

11.1 设计一个多层系统 247

11.2 功能性需求 248

11.3.1 处理会员登录 250

11.3 设计数据库 250

11.3.2 会员注册 251

11.3.3 数据输入 251

11.3.4 搜索数据库 254

11.3.5 数据库驱动的电子邮件 256

11.4 小结 256

第12章 通过servlet和JSP使用JDBC DataSource 257

12.1 使用JDBC DataSource 257

12.2 使用servlet创建动态Web页面 258

12.2.1 创建一个简单的servlet 258

12.3 创建和配置Login servlet 259

12.3.2 创建Login页面 260

12.3.1 实现会员Web站点 260

12.3.3 创建servlet 262

12.3.4 部署 264

12.4 使用JSP 264

12.4.1 在JSP中使用JavaBean 266

12.4.2 自动类型转换 271

12.4.3 创建和部署JDBC LoginBean 271

12.5 小结 274

第13章 使用PreparedStatement和CallableStatement 275

13.1 创建和使用PreparedStatement 275

13.1.1 创建PreparedStatement对象 276

13.1.2 在循环中使用PreparedStatement 276

13.2.1 创建存储过程 278

13.1.3 PreparedStatement返回的值 278

13.2 创建和使用CallableStatement 278

13.2.2 调用存储过程 280

13.2.3 使用JSP Bean中的存储过程 281

13.2.4 ProcessNABean的作用 286

13.2.5 错误处理 290

13.2.6 使用存储过程作为输入和输出参数 292

13.3 小结 294

第14章 使用Blob和Clob管理图像和文档 295

14.1 大对象 295

14.1.1 使用Blob存储二进制数据 296

14.1.2 使用Clob存储文本数据 298

14.2 从浏览器上载图像或文档 299

14.2.1 用于从DBMS下载大对象的servlet 305

14.3 小结 308

第15章 使用JSP,XSL和可滚动的ResultSet显示数据 309

15.1 可滚动的ResultSet 309

15.1.1 创建一个可滚动ResultSet 309

15.1.2 在可滚动ResultSet中移动游标 310

15.1.3 使用可滚动ResultSet创建一个搜索页面 311

15.2 使用XSL从SQL查询中创建网页 319

15.2.1 XSLT如何工作 319

15.2.2 从数据库中检索的数据作为XML文档 320

15.2.3 使用XSL样式表转换XML 323

15.2.4 在JSP页面中使用XSL转换 326

15.3 使用具有XSL样式表的可更新ResultSet 329

15.4 小结 334

第16章 使用JDBC驱动的JavaMail API 335

16.1 使用电子邮件协议 335

16.1.1 MIME协议 335

16.1.2 SMTP协议 336

16.1.3 POP协议 336

16.2 使用JavaMail API 336

16.3 使用JDBC驱动的JavaMail发送电子邮件信息 337

16.3.1 使用JSP页面和JavaMail发送电子邮件 338

16.3.2 使用有SendMailBean的JSP页面 340

16.3.3 部署 341

16.4 使用JavaMail API接收电子邮件 341

16.5 小结 346

第4部分 数据库、JDBC和XML 347

第17章 XML文档对象模型和JDBC 349

17.1 XML与HTML 349

17.2 XML和文档对象模型 350

17.2.1 XML标题 351

17.2.2 标记和属性 351

17.2.3 元素和节点 352

17.3 使用Java XML API——Xerces和JDOM 352

17.4 将Xbean作为可插入的XML处理模块 353

17.5 查询数据库创建XML文档 358

17.6 XML数据源填充数据库 362

17.7 小结 368

18.1 理解RowSet 369

第18章 用RowSet显示数据 369

18.1.1 创建和应用RowSet 370

18.1.2 使RowSet可滚动和可更新 371

18.1.3 更新RowSet 373

18.1.4 插入新行 374

18.1.5 删除行 376

18.1.6 查看可更新RowSet所做的修改 376

18.1.7 RowSet事件 376

18.2 未连接的RowSet 378

18.2.1 在PDA中使用CachedRowSet 379

18.2.2 客户端代码 382

18.3 根据RowSet生成XML 382

18.4 小结 388

第19章 用SQL访问XML文档 389

19.1 用SQL访问XML文档的原因 390

19.2 创建可访问JDBC的XML DBMS 391

19.2.1 实现基类 391

19.2.2 实现JDBC类 392

19.2.3 XMLResultSet 398

19.2.4 实现SQL引擎 404

19.2.5 测试JDBC/XML数据库 412

19.3 小结 418

第5部分 EJB、数据库和持久性 419

第20章 EJB 421

20.1 EJB简述 421

20.2.1 无状态会话Bean 422

20.2 会话bean 422

20.2.2 无状态会话Bean 429

20.3 实体Bean 434

20.3.1 主键 434

20.3.2 持久性存储 434

20.4 消息驱动bean 435

20.5 EJB事务 437

20.5.1 容器管理的事务 438

20.5.2 bean管理的事务 439

20.6 小结 440

第21章 bean管理的持久性 441

21.1 实体对象持久性 441

21.2 bean管理的持久性 442

21.2.1 主键 443

21.2.2 通过实体bean创建和删除实体对象 444

21.2.3 查找实体对象 446

21.2.4 bean实例变量的同步和持久性对象的状态 447

21.2.5 业务方法 449

21.3 BMP实体bean示例——MemberEJB 450

21.4 使用值对象获得更佳性能 457

21.5 小结 460

第22章 容器管理的持久性 461

22.1 CMP实体bean——EJB 2.0之后的新生品 461

22.2 CMP EJB开发 462

22.2.1 主接口和远程接口 462

22.2.2 用最少的代码实现类 464

22.3 EJB查询语言 470

22.4 运行示例应用程序 472

22.5 容器管理的关系 477

22.5.1 关系字段 477

22.5.2 关系的基数和方向 478

22.5.3 访问关系字段 478

22.6 小结 480

第23章 Java数据对象和透明持久性 481

23.1 JDO的透明持久性 481

23.2 什么使JDO成为独特的持久性机制 482

23.3 主要的JDO API 484

23.3.1 PersistenceCapable接口 485

23.3.2 PersistenceManagerFactory接口 485

23.3.3 PersistenceManager接口 486

23.3.4 Query接口 487

23.3.5 Transaction接口 488

23.4 测试客户示例 489

23.5 对复杂域对象模型的支持 492

23.6 JDO应用程序开发过程 494

23.7 JDO与J2EE框架集成 495

23.8 小结 497

第6部分 数据库管理 499

第24章 用户管理和数据库的安全性 501

24.1 组、用户和角色 501

24.1.1 对组进行操作 501

24.1.2 对用户进行操作 504

24.2 理解数据库模式 507

24.3 管理模式 508

24.4 用户权限 509

24.5 用户角色 510

24.5.1 所有权限 510

24.5.2 GRANT命令 511

24.5.3 REVOKE命令 512

24.6 小结 512

第25章 性能调整 513

25.1 数据库调整 513

25.1.1 语句调整 513

25.1.2 调整连接 515

25.1.3 调整索引 517

25.2.3 多数据表 519

25.3 产生冗余数据 519

25.2 修改数据库方案 519

25.2.2 反向范式化 519

25.2.1 范式化 519

25.4 使用导出列和导出表 521

25.5 数据划分 521

25.5.1 水平划分 521

25.5.2 垂直划分 522

25.6 使用视图 522

25.7 持续监控 522

25.8 小结 522

附录A SQL语法简明指南 523

附录B 安装Apache和Tomcat 539