第6章-JSP数据库应用开发.ppt
《第6章-JSP数据库应用开发.ppt》由会员分享,可在线阅读,更多相关《第6章-JSP数据库应用开发.ppt(67页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 第第6 6章章 JSPJSP中使用数据库中使用数据库 编编程程1从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 主要内容主要内容6.1 SQL Server 2000数据库管理系统数据库管理系统6.2 JDBC6.3 连接数据库的常用方式连接数据库的常用方式6.4 查询记录查询记录6.5 更新记录更新记录6.6 添加记录添加记录6.7 删除记录删除记录6.8 常见数据库连接常见数据库连接6.9 查询查询Execl电子表格电子表格6.10 网上投票网上投票2从零开始从零开始JSP动态网页制作基础培训教
2、程动态网页制作基础培训教程 数据库应用程序设计的过程数据库应用程序设计的过程数据库应用程序设计的过程可以分为数据库应用程序设计的过程可以分为7个步个步骤:骤:1.创建数据库创建数据库2.选配数据源选配数据源3.加载数据库驱动程序加载数据库驱动程序4.创建连接对象创建连接对象5.创建声明对象创建声明对象6.执行操作执行操作7.结果处理结果处理3从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 一、一、JDBC 简介简介 在在Java的函数库中,有一组专门处理与数据库有关的的函数库中,有一组专门处理与数据库有关的API:JDBC(Java DataBase Connectio
3、n)。JDBC目前的版本为目前的版本为4.0版,其主要的目的,一方面让使用版,其主要的目的,一方面让使用Java的程序设计师,提供单一的数据访问方式,使得的程序设计师,提供单一的数据访问方式,使得Java的程的程序设计师,利用这组序设计师,利用这组API,可以有效地访问任何形式的数据,可以有效地访问任何形式的数据,从关系型数据库、工作表到一般的文本文件。另一方面,从关系型数据库、工作表到一般的文本文件。另一方面,JDBC使得不同的数据库供应厂商,实现相同的数据访问方式,使得不同的数据库供应厂商,实现相同的数据访问方式,使不同的数据来源有相同的访问方式。使不同的数据来源有相同的访问方式。4从零开
4、始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 实际上,实际上,JDBC这组这组API只是提供一组接口只是提供一组接口(Interface),让,让程序设计人员及数据库供应商遵循相同的方式来做数据访问。程序设计人员及数据库供应商遵循相同的方式来做数据访问。另外,程序设计人员只要知道如何使用另外,程序设计人员只要知道如何使用JDBC就可以进行数据就可以进行数据访问及数据库连接,并不需要知道数据库供应商如何实现数据访问及数据库连接,并不需要知道数据库供应商如何实现数据访问及数据库连接,数据库供应商也可以根据访问及数据库连接,数据库供应商也可以根据JDBC专心于实专心于实现的部分,
5、不用担心客户端的部分。现的部分,不用担心客户端的部分。5从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 二、环境设置二、环境设置 在创建数据库连接之前,我们必须找到适合的在创建数据库连接之前,我们必须找到适合的Driver,也,也就是数据库连接的驱动程序。目前就是数据库连接的驱动程序。目前JDBC根据数据库连接的方式,根据数据库连接的方式,将驱动程序分成将驱动程序分成4种类型:种类型:Type1、Type2、Type3及及Type4。驱。驱动程序大部分由数据库的厂商所提供,每一种厂商有不同类型动程序大部分由数据库的厂商所提供,每一种厂商有不同类型连接方式。连接方式。主要
6、介绍如何使用主要介绍如何使用Type1和和Type 4的驱动程序来连接数据库。的驱动程序来连接数据库。6从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 1、Type1的的驱动程序程序 Type1的的驱动程序是通程序是通过与与ODBC的的连接来与数据接来与数据库沟通沟通(JDBC-ODBC Bridge),也就是,也就是JDBC会将所有要与数据会将所有要与数据库沟沟通的通的SQL命令通知命令通知ODBC,由,由ODBC来来负责与数据与数据库沟通。沟通。这种方式通常用在实验及测试阶段以及没有其他类型的驱动程这种方式通常用在实验及测试阶段以及没有其他类型的驱动程序可以使用时。
7、其优缺点为:序可以使用时。其优缺点为:优点优点 由于简单的缘故,这种类型是一开始学习由于简单的缘故,这种类型是一开始学习JDBC不错的方不错的方式。另外有些公司在用户的每一台计算机上,都已经设置了式。另外有些公司在用户的每一台计算机上,都已经设置了ODBC连接,原因可能是旧有的应用程序需要依靠这些连接,原因可能是旧有的应用程序需要依靠这些ODBC设置来连接数据库,如此就可以直接使用不用再做设置。最后,设置来连接数据库,如此就可以直接使用不用再做设置。最后,有一些数据库只有有一些数据库只有ODBC连接方式,别无其他选择。连接方式,别无其他选择。7从零开始从零开始JSP动态网页制作基础培训教程动态
8、网页制作基础培训教程 缺点缺点 最大的问题还是在于要设置最大的问题还是在于要设置ODBC连接,当项目很大或者连接,当项目很大或者是用户很多时,维护的是用户很多时,维护的ODBC连接是一件麻烦又恼人的工作。连接是一件麻烦又恼人的工作。再者由于需要在再者由于需要在JDBC与与ODBC之前做数据传递及转换,许多之前做数据传递及转换,许多时间浪费在这上面,造成性能上的不良后果。最后许多功能受时间浪费在这上面,造成性能上的不良后果。最后许多功能受到到ODBC驱动程序的限制,也不完全支持驱动程序的限制,也不完全支持Java的特点。的特点。要配置要配置ODBC8从零开始从零开始JSP动态网页制作基础培训教程
9、动态网页制作基础培训教程 2、Type4驱动程序程序 Type4Direct-to-Database Pure Java Driver 此种驱动程序完全是由此种驱动程序完全是由Java所完成的,包括与数据库的各所完成的,包括与数据库的各种网络与沟通协议。由于目前种网络与沟通协议。由于目前JDBC的蓬勃发展,几乎所有的的蓬勃发展,几乎所有的数据库厂商都提供了这种类型的驱动程序,甚至有些公司专门数据库厂商都提供了这种类型的驱动程序,甚至有些公司专门在制作这种驱动程序,强调轻巧以及性能高。在制作这种驱动程序,强调轻巧以及性能高。优点优点 基本上这种类型的驱动程序是所有里面性能最好的,也能基本上这种类
10、型的驱动程序是所有里面性能最好的,也能够完全支持够完全支持JDBC所有的特色。使用时也不必事先安装任何的函所有的特色。使用时也不必事先安装任何的函数库或者是作任何设置。是选择驱动程序时非常好的选择。数库或者是作任何设置。是选择驱动程序时非常好的选择。9从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 缺点缺点 不同的数据库需要不同的驱动程序。不同的数据库需要不同的驱动程序。要安装驱动程序:下载要安装驱动程序:下载setup.exe,安装后,在,安装后,在lib目录下有目录下有三个三个jar文件文件msbase.jar,mssqlserver.jar,msutil.jar,
11、所需要的,所需要的类都在这三个文件中类都在这三个文件中(SQL Server 2000)或或sqljdbc_enu.exe(sqljdbc_3.0.1301.101_enu.exe)(SQL Server 2005)纯纯Java JDBC驱动程序驱动程序 纯纯Java JDBC驱动程序是独立的连接驱动程序,不需要中间服驱动程序是独立的连接驱动程序,不需要中间服务器,与数据库实现通信的整个过程均由务器,与数据库实现通信的整个过程均由Java语言语言 实现。这种方实现。这种方法目前应用较广泛,缺点是需要下载相应的类包,不同数据库的连法目前应用较广泛,缺点是需要下载相应的类包,不同数据库的连接代码可
12、能不同。接代码可能不同。有三个类包:有三个类包:msbase.jar、mssqlserver.jar、msutil.jar或或sqljdbc4.jar。使用时要将这三个包放在。使用时要将这三个包放在 jdkjrelibext目录下,或者所放的位置设置到目录下,或者所放的位置设置到CLASSPATH中即可。中即可。10从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 三、数据库的连接三、数据库的连接 JDBC的作用概括起来有如下的作用概括起来有如下3个方面:个方面:(1)建立与数据)建立与数据库的的连接接 (2)向数据)向数据库发起起查询请求求 (3)处理数据理数据库返回返
13、回结果果 这些作用是通过一系列这些作用是通过一系列API实现的,其中的几个重要类或接口实现的,其中的几个重要类或接口如表如表 所示。所示。接口接口作用作用java.sql.Drivermanagerjava.sql.Connectionjava.sql.Statementjava.sql.ResultSet处理驱动程序的加载和建立新数据库连接处理驱动程序的加载和建立新数据库连接处理与特定数据库的连接处理与特定数据库的连接在指定连接中处理在指定连接中处理SQL语句语句处理数据库操作结果集处理数据库操作结果集11从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 四、四、JDB
14、C中的常用接口中的常用接口 JDBC提供了众多的接口和提供了众多的接口和类,通,通过这些接口和些接口和类,可以,可以实现与与数据数据库的通信,本的通信,本节将将详细介介绍一些常用的一些常用的JDBC接口和接口和类。1、Driver接口接口 每种数据库的驱动程序都应该提供一个实现每种数据库的驱动程序都应该提供一个实现java.sql.Driver接口接口的类,简称的类,简称Driver类,在加载某一驱动程序的类,在加载某一驱动程序的Driver类时,它应该创类时,它应该创建自己的实例并向建自己的实例并向java.sql.DriverManager类注册该实例。类注册该实例。通常情况下通过通常情况
15、下通过java.lang.Class类的静态方法类的静态方法forName(String className),加载欲连接数据库的,加载欲连接数据库的Driver类,该方法的入口参数为欲类,该方法的入口参数为欲加载加载Driver类的完整路径。成功加载后,会将类的完整路径。成功加载后,会将Driver类的实例注册到类的实例注册到DriverManager类中,如果加载失败,将抛出类中,如果加载失败,将抛出ClassNotFoundException异常,即未找到指定异常,即未找到指定Driver类的异常。类的异常。12从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 2、
16、DriverManager类 java.sql.DriverManager类负责管理管理JDBC驱动程序的基程序的基本服本服务,是,是JDBC的管理的管理层,作用于用,作用于用户和和驱动程序之程序之间,负责跟踪可用的跟踪可用的驱动程序,并在数据程序,并在数据库和和驱动程序之程序之间建立建立连接;接;另外,另外,DriverManager类也也处理理诸如如驱动程序登程序登录时间限制及限制及登登录和跟踪消息的和跟踪消息的显示等工作。成功加示等工作。成功加载Driver类并在并在DriverManager类中注册后,中注册后,DriverManager类即可用来建立即可用来建立数据数据库连接。接。当
17、调用当调用DriverManager类的类的getConnection()方法请求建立数方法请求建立数据库连接时,据库连接时,DriverManager类将试图定位一个适当的类将试图定位一个适当的Driver类,类,并检查定位到的并检查定位到的Driver类是否可以建立连接,如果可以则建立连类是否可以建立连接,如果可以则建立连接并返回,如果不可以则抛出接并返回,如果不可以则抛出SQLException异常。异常。DriverManager类提供的常用静态方法如下表所示:类提供的常用静态方法如下表所示:13从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 方方 法法 名名
18、称称功功 能能 描描 述述getConnection(String url,String user,String password)用来获得数据库连接,用来获得数据库连接,3个入口参数依次个入口参数依次为要连接数据库的为要连接数据库的URL、用户名和密码,、用户名和密码,返回值的类型为返回值的类型为java.sql.ConnectionsetLoginTimeout(int seconds)用来设置每次等待建立数据库连接的最用来设置每次等待建立数据库连接的最长时间长时间setLogWriter(java.io.PrintWriter out)用来设置日志的输出对象用来设置日志的输出对象prin
19、tln(String message)用来输出指定消息到当前的用来输出指定消息到当前的JDBC日志流日志流14从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 3、Connection接口接口 java.sql.Connection接口代表与特定数据接口代表与特定数据库的的连接,在接,在连接的上下文中可以接的上下文中可以执行行SQL语句并返回句并返回结果,果,还可以通可以通过getMetaData()方法方法获得由数据得由数据库提供的相关信息,例如数据表、存提供的相关信息,例如数据表、存储过程和程和连接功能等信息。接功能等信息。Connection接口提供的常用方法如下表
20、所示。接口提供的常用方法如下表所示。15从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 方方 法法 名名 称称功功 能能 描描 述述createStatement()创建并返回一个创建并返回一个Statement实例,通常在执行无参的实例,通常在执行无参的SQL语句时创建该实例语句时创建该实例prepareStatement()创建并返回一个创建并返回一个PreparedStatement实例,通常在执行包含参数的实例,通常在执行包含参数的SQL语句时创建该实例,语句时创建该实例,并对并对SQL语句进行了预编译处理语句进行了预编译处理prepareCall()创建并返回
21、一个创建并返回一个CallableStatement实例,通常在调用数据库存储过程时创建该实例实例,通常在调用数据库存储过程时创建该实例setAutoCommit()设置当前设置当前Connection实例的自动提交模式。默认为实例的自动提交模式。默认为true,即自动将更改同步到数据库中;,即自动将更改同步到数据库中;如果设为如果设为false,需要通过执行,需要通过执行commit()或或rollback()方法手动将更改同步到数据库中方法手动将更改同步到数据库中getAutoCommit()查看当前的查看当前的Connection实例是否处于自动提交模式,如果是则返回实例是否处于自动提交
22、模式,如果是则返回true,否则返回,否则返回falsesetSavepoint()在当前事务中创建并返回一个在当前事务中创建并返回一个Savepoint实例,前提条件是当前的实例,前提条件是当前的Connection实例不能处实例不能处于自动提交模式,否则将抛出异常于自动提交模式,否则将抛出异常releaseSavepoint()从当前事务中移除指定的从当前事务中移除指定的Savepoint实例实例setReadOnly()设置当前设置当前Connection实例的读取模式,默认为非只读模式。不能在事务当中执行该操作,实例的读取模式,默认为非只读模式。不能在事务当中执行该操作,否则将抛出异常
23、。有一个否则将抛出异常。有一个boolean型的入口参数,设为型的入口参数,设为true表示开启只读模式,设为表示开启只读模式,设为false表示关闭只读模式表示关闭只读模式isReadOnly()查看当前的查看当前的Connection实例是否为只读模式,如果是则返回实例是否为只读模式,如果是则返回true,否则返回,否则返回falseisClosed()查看当前的查看当前的Connection实例是否被关闭,如果被关闭则返回实例是否被关闭,如果被关闭则返回true,否则返回,否则返回falsecommit()将从上一次提交或回滚以来进行的所有更改同步到数据库,并释放将从上一次提交或回滚以来
24、进行的所有更改同步到数据库,并释放Connection实例当前实例当前拥有的所有数据库锁定拥有的所有数据库锁定rollback()取消当前事务中的所有更改,并释放当前取消当前事务中的所有更改,并释放当前Connection实例拥有的所有数据库锁定。该方实例拥有的所有数据库锁定。该方法只能在非自动提交模式下使用,如果在自动提交模式下执行该方法,将抛出异常。有法只能在非自动提交模式下使用,如果在自动提交模式下执行该方法,将抛出异常。有一个参数为一个参数为Savepoint实例的重载方法,用来取消实例的重载方法,用来取消Savepoint实例之后的所有更改,并释放实例之后的所有更改,并释放对应的数据
25、库锁定对应的数据库锁定close()立即释放立即释放Connection实例占用的数据库和实例占用的数据库和JDBC资源,即关闭数据库连接资源,即关闭数据库连接16从零开始从零开始JSP动态网页制作基础培训教程动态网页制作基础培训教程 4、Statement接口接口 java.sql.Statement接口用来接口用来执行静行静态的的SQL语句,并句,并返回返回执行行结果。例如,果。例如,对于于INSERT、UPDATE和和DELETE语句,句,调用用executeUpdate(String sql)方法;方法;对于于SELECT语句,句,则调用用executeQuery(String sql
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 数据库 应用 开发
限制150内