第七章 JSP数据库开发基础知识

上传人:1888****888 文档编号:47512389 上传时间:2021-12-21 格式:PPT 页数:40 大小:354.50KB
收藏 版权申诉 举报 下载
第七章 JSP数据库开发基础知识_第1页
第1页 / 共40页
第七章 JSP数据库开发基础知识_第2页
第2页 / 共40页
第七章 JSP数据库开发基础知识_第3页
第3页 / 共40页
资源描述:

《第七章 JSP数据库开发基础知识》由会员分享,可在线阅读,更多相关《第七章 JSP数据库开发基础知识(40页珍藏版)》请在装配图网上搜索。

1、第七章 JSP数据库开发基础知识 在Java语言中提供了方便的数据库操作API,通过这些API可以非常方便的操作各种数据库,而且对于不同的数据库来说,只有取得数据库连接部分的操作稍有不同,其他部分基本都是相同的,同样的数据库操作代码可以非常方便的使用到另一个数据库中。在本章的内容中,首先搭建起JSP开发数据库的环境,然后对数据库操作的SQL语言进行简单的介绍,本章的核心部分是使用JSP进行数据库开发的介绍,通过具体的示例,使读者对这项技术有一个整体的认识,从初学者逐步成为一个JSP数据库开发的高手。7.1 JSP数据库开发环境搭建 工欲善其事,必先利其器。要进行数据库的开发,第一步要做的工作就

2、是安装数据库软件,目前常用的数据库有MySQL、SQL,Oracle、DB2等,在本章我们以MySQL和SQLServer2000的安装过程为例,简单介绍JSP数据库开发环境的搭建过程。7.1.1 MySQL数据库的安装 MySQL的安装程序可以从http:/网站上下载,目前的版本是5.0.41,下载下来的安装文件为mysql-essential-5.0.41-win32.msi。直接运行这个文件就可以进行安装,MySQL提供了图形界面的安装向导,根据安装向导的提示,可以非常方便的安装MySQL。下面简单介绍MySQL的安装步骤。(具体内容请参照书。)7.1.2 SQL Server2000数

3、据库安装 SQL Server2000的安装过程更加简便,在安装向导的提示可以非常方便进行安装,在这里不在对SQL Server的安装过程进行详细的介绍。7.2 SQL基础 在与数据库交互的过程中,可以使用各种语言,例如Java、C#甚至是C语言,但是所有这些语言并不是直接操作数据库,而是通过向数据库传递SQL语句来实践数据的操作,SQL语言才是直接处理数据库的语言,在目前常用的关系数据库中,都支持SQL语言的操作。7.2.1 创建和删除数据库 创建数据库的SQL语句如下。 CREATE DATABASE 数据库名称(具体内容请参照书。)7.2.2 创建、修改、删除数据库表 创建数据库表可以是

4、用CREATE TABLE指令,这个指令的使用语法如下。CREATE TABLE 表名( 列名1 数据类型 DEFAULT(默认值) NOT NULL UNIQUE, 列名2 数据类型 DEFAULT(默认值) NOT NULL UNIQUE PRIMARY KEY (列名) FOREIGN KEY (列名) REFERENCES (表名)7.2.3 查询语句 在数据库操作中,查询数据的方式有很多,包括基本的查询、选择性查询、限制条件查询、统计查询、多表联合查询等查询操作,在接下来的内容中将逐步介绍这些基本的查询操作。(具体内容请参照书。)7.2.4 插入、更新、删除语句 在本部分的内容中,将

5、介绍表格中数据的基本操作,包括数据的插入、更新和删除操作。(具体内容请参照书。)7.2.5 简单视图操作 视图是虚拟的表,其功能和基本的数据库表类似,但是在视图中并不存储数据,视图仅仅是把实际表格中的数据按照条件提取出来,以表格的形式展示出来,从而方便用户的查询,其实在这个虚拟的表格中并没有任何物理上存储的数据,其中的数据都是从其他表格中提出出来的。(具体内容请参照书。)7.2.6 简单存储过程操作 存储过程(Stored Procedure)是一段可以完成特定功能的SQL 语句,它经过编译后存储在数据库中,用户通过名称调用指定的存储过程,如果这个存储过程中带有参数,在调用的时候需要提供对应的

6、参数输入。(具体内容请参照书。)7.3 JSP与数据库建立连接 一般来说,使用JSP操作数据库都需要下面三个步骤。(1)根据提供的驱动程序名加载对应的数据库驱动程序。 (2)根据连接字符串,从DriverManager中取的与数据库的连接。 (3)在取得的Connection数据库对象基础上进行各种数据操作。7.3.1 JSP连接SQL Server2000数据库 JSP连接SQL Server的时候,需要提供SQL Server的数据库驱动,在这里可以有两种选择,一种是微软官方提供的数据库驱动,另一中是开源的JTDS驱动,在这里我们选择微软广方提供的JDBC数据库驱动程序。(具体内容请参照书

7、。)7.3.2 JSP连接MySQL数据库 JSP连接MySQL数据库的时候,同样也需要数据库驱动, MySQL的驱动程序名为MySQL Connector/J,读者可以在http:/ 拷贝到应用项目的/WEB-INF/lib目录中,就可以在JSP中同通过这个JDBC驱动连接MySQL数据库,这个数据库驱动的名称和连接字符串如表7.2所示。7.3.3 JSP连接Oracle数据库 Oracle为不同版本的数据库提供了不同的JDBC驱动程序,可以在Oracle的官方网站上下面这个链接下载对应版本的驱动程序。(具体内容请参照书。)7.3.4 JSP连接数据库简单示例 上面介绍了JSP连接常见的几种

8、数据库开发环境的基本配置,(具体内容请参照书。)7.4 JSP操作数据库 在以上的内容中,介绍了JSP数据库开发的准备知识,在接下来的内容中,将使用这些基础知识进行数据库的操作,操作的数据库选择在前面章节中已经创建的STUDENTS数据库。在本节的内容中,首先介绍数据库最简单最基本的增删改查操作,在了解这些基本知识的基础上引入数据库事务操作的概念,最后介绍两中具有实用价值的技术。视图和存储过程,这是数据库操作水平进一步提高所必须掌握的。7.4.1 JSP插入数据操作 在执行数据的插入操作时,首先要建立与数据库的连接,然后把SQL语句传递到数据库中,通过SQL语句来操作数据库中的数据。在下面的示

9、例程序中,将向student表中插入一条记录,具体代码如下。(具体内容请参照书。)7.4.2 JSP删除数据操作 在JSP中,删除数据的操作和插入数据的操作很相似,不同之处只是执行的SQL语句不同,在下面的示例程序中,将从student表中删除满足条件的记录,(具体内容请参照书。)7.4.3 JSP更新数据库操作 在数据库的更新操作中,并没有新的知识点,数据库的连接和操作的方法和前面数据库插入删除操作的方法是一样的,不同之处就是在这里执行的是更新数据库的SQL语句,在下面的示例程序中,将更新数据库中符合条件的数据记录,(具体内容请参照书。)7.4.4 JSP查询数据库操作 在数据库的查询操作中

10、,可以通过数据库连接执行SQL查询语句,返回的结果是ResultSet结果集对象,可以在程序中取出并展示结果集中的数据,在下面的示例程序中,将从student表中取出满足条件的数据,并以表格的形式展示取出的结果,(具体内容请参照书。)7.4.5 JSP中的数据库操作事务处理 在数据库操作中,事务处理是经常用到的,例如在银行的业务中,甲方给乙方账户转账10万人民币,首先要从甲方的账户减去10万,然后再给乙方的账户增加10万,整个操作过程是一个整体,这就是一个简单的事务,在这个事务中必须保证操作的完整性,两步操作要么全执行,如果其中一步出错全都不执行,从而保证这个业务的正确性和完整性。(具体内容请

11、参照书。)7.4.6 JSP查询视图 视图是一种虚拟表,所以视图的查询和表格的查询方法一样,无非是在这里把表格名称换成视图的名称, 在SQL语法介绍中,我们创建了一个名为V_STUDENTS的视图,在下面这个示例程序中将与对这个视图进行简单的查询,(具体内容请参照书。)7.4.7 JSP调用存储过程 在本书的7.2.6小节中,分两种情况介绍了存储过程的创建方法,所以在这里也分为两种情况介绍存储过程的调用方法,包括调用无参数的存储过程和调用有参数的存储过程。(具体内容请参照书。)7.5 数据库连接池 在大量数据库访问的应用系统中,数据库处理的速度往往会成为系统性能的瓶颈,数据库资源的处理不当往往

12、会给系统的性能带来很大的影响,严重的情况下甚至可以导致整个系统的瘫痪,在本节的内容中将会详细介绍数据库资源的利用问题。7.5.1 数据库开发中面临的数据库资源问题 在数据库应用程序的开发中,经常会遇到数据库资源的问题,一般情况下有一下几种情况。 1.普通的JDBC连接带来的效率问题 2.数据库资源使用不当带来的性能问题7.5.2 数据库连接池的工作原理 数据库连接池就是在系统初始化的时候,建立起一定数量的数据库连接,然后通过一套数据库连接的使用、分配、管理策略,使数据库连接可以得到高效、安全的复用,避免了频繁建立、关闭数据库连接带来的系统开销,另外,使用数据库连接池可以把系统的逻辑实现和数据库

13、分离,在传统的实现过程种,是在应用程序中直接访问数据库,使用连接池以后,所有的数据库连接都可以从连接池中取出,由连接池访问数据库,维持连接池中可用连接的数量。7.5.3 常用的数据库连接池简介 在实际的开发中,可以选择自己实现一个连接池,但是一般情况下我们会选择第三方提供的程序的连接池产品,目前有很多成熟的连接池可以选择。7.5.4 在Tomcat中配置DBCP数据库连接池 在Tomcat中配置DBCP数据库连接池的方法有很多,但是配置都相对比较繁琐,在这里提供一种比较简单的DBCP连接池的配置方法。(具体内容请参照书。)7.5.5 从连接池中取得连接示例 通过上节的配置,已经可以在程序中使用

14、DBCP连接池的功能,在下面的实例程序中,将在一个JSP页面中调用DBCP的功能,从连接池中取出一个数据库连接,(具体内容请参照书。)7.5.6 测试连接池设置是否生效 在上面的实例程序中,仅仅展示了从连接池中取出连接的情况,但是还没有测试连接池是否可以正常释放资源,这一点是很多开发人员容易忽视的问题,一般情况下,很多开发人员只要可以从连接池中取出连接就认为连接池已经配置成功,然后就开始在程序中使用连接池的功能,这种做法往往在埋下错误的隐患。7.5.7 使用DBCP自动回收数据库连接资源 在进行数据库操作的时候,数据库的连接是必须释放的,连接池的最大功能是维护一定数量的连接,从而节省建立、关闭

15、数据库连接的时间,在程序中调用的数据库连接是必须关闭的,只有关闭以后,这个连接才会被释放到连接池中,从而可以供其他程序使用。(具体内容请参照书。)7.6 数据库访问的代码优化 通过前面章节中的介绍,读者可以对数据库的基本操作有了一个整体的认识,利用这些基本知识,读者可以进行基本的数据库操作,在本章前面的所有示例程序中,展示的都是最基本的数据库访问操作,目的是让读者能够不受其他因素的干扰,专注于数据库操作功能的实现。但是,从可复用、从软件架构的方面、从软件的升级维护等方面来看,这些是远远不够的,在接下来的内容中,将深入剖析数据库操作更深层次的知识,试读者可以在技术层面有一个质的飞越。7.6.1

16、最原始的数据库访问代码示例 在上面的所以例子中,都需要使用下面这段代码来建立与数据库的连接。7.6.2 初步优化数据库配置信息基础类 在这种原始的数据库访问操作中,更改数据库的配置信息是非常麻烦的。现在可以考虑这样的处理方法,把数据库的配置信息用常量表示,所有的数据库配置信息都可以放在一个类中,具体实现方式如下。(具体内容请参照书。)7.6.3 进一步优化数据库配置文件 为了解决用常量表示数据库配置信息带来的问题,避免重新编译部署应用项目,就需要把数据库配置的信息从Java类中提出出来,在这里我们属性文件来代替描述常量的类,经过这样的处理就可以避免重新编译、部署应用系统的问题。7.6.4 继续

17、优化数据库访问操作类的封装 在前面的几节内容中,对如何合理组织数据库配置信息进行了简单的结束,但是在这些示例程序中我们可以看出,取得数据库连接的依然要重复操作,同样需要加载数据库驱动类、取得连接和进行数据库操作这些步骤,在每个需要数据库操作的地方都要重复这样的代码,那么有没有方法避免这些代码的重复?答案就是对这些代码进行封装。(具体内容请参照书。)7.6.5 更进一步优化DAO类封装数据库操作 在进行本节内容的介绍之前,先来看下面这段代码。(具体内容请参照书。)7.6.6 追求完美的优化添加视图、存储过程 在上面介绍的各项优化措施中,都是从软件工程方面考虑,对程序的代码进行科学的优化,单是这些

18、措施并不涉及数据库操作的性能问题,在接下来的内容中,将对数据库操作的性能问题进行探讨。数据库操作性能的要求,一般情况下在需要大量数据库操作的项目种会显得特别迫切。在提升数据库性能方面可以通过合理涉及数据库结构和SQL优化等措施,但这些都不是本节中要讨论的主题,本章的侧重点是在数据库结构已经定型的其功能下,通过合理的访问策略来优化数据库访问的性能。7.7 小结 在本章的内容中,介绍了SQL语言的基础知识,虽然介绍的这些操作都可以在数据库管理工具中实现,但是理解这些基础的知识有利于读者在更深的层次了解数据库的原理和操作。本章还介绍了在JSP中操作数据库的基本方法,并且通过一系列的优化措施,把复杂的数据库操作优化成简单的、优美的代码,在整个优化过程中,读者不仅可以了解到数据库操作优化的方法,更重要的是要体会这些优化中所体现的思想,了解这些思想以后读者自己就可以根据需要来优化自己的数据库操作,或者优化其他非数据库操作的代码。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!