第7章 在JSP中使用数据库.ppt
《第7章 在JSP中使用数据库.ppt》由会员分享,可在线阅读,更多相关《第7章 在JSP中使用数据库.ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、12022/12/27第7章 在在JSP中使用数据库中使用数据库 本章导读本章导读1.知知识识点点:掌掌握握怎怎样样在在JSP中中使使用用JDBC实实现现数数据据库库的的连连接接、查查询询、修修改等操作改等操作。2.重点:重点:掌握连接数据库的常用方式:掌握连接数据库的常用方式:JDBC-ODBC桥接器方式和加载桥接器方式和加载Java数数据库驱动程序方式。据库驱动程序方式。4.关关键实键实践:践:编写编写JSP页面,使用页面,使用JavaBean实现数实现数据库表的分页查询据库表的分页查询。3.难难点:点:怎样实现数据库表的分页查询怎样实现数据库表的分页查询。7.2 JDBC JDBC 7.
2、3数据库连接的常用方式数据库连接的常用方式 7.4查询操作查询操作 7.5更新、添加与删除操作更新、添加与删除操作 7.6使用预处理语句使用预处理语句 7.7基于基于CachedRowSetCachedRowSet分分 页显示记录页显示记录 7.8 常见数据库的连接常见数据库的连接 7.1 SQL Server 2000数数据库管理系统据库管理系统 22022/12/27 Web应用程序最常用的数据管理方式就是使用数据库,数据库已经成为Web程序开发的一个重要组成部分。本章将学习在JSP中怎样使用数据库。本章大部分例子采用的模式是JSP+JavaBean模式,即JSP页面调用bean来完成对数
3、据库的操作,如图7.1所示。为了便于教学,我们使用的数据库管理系统是SQL Server 2000。概述概述 32022/12/277.1 SQL Server 2000SQL Server 2000数据数据库库管理系管理系统统 SQL Server 2000是一个网络数据库管理系统,也简称为数据库服务器。1.启动SQL Server 2000 为了能让Tomcat服务器上的Web应用程序访问SQL Server 2000管理的数据库,必须启动SQL Server 2000提供的数据库服务器。如果已经安装SQL Server 2000,可以用如下方式启动SQL Server 2000提供的数据
4、库服务器:“开始”“程序”“Microsoft SQL Server”“服务器管理器”,出现如图7.2所示的窗口。42022/12/27 2.2.建立数据库建立数据库 打开“企业管理器”,出现如图所示7.3界面。“数据库”目录下是已有的数据库的名称,右键单击“数据库”可以建立新的数据库,我们新建立的数据库名称是“Student”。52022/12/27 3.3.创建表创建表 在数据库Student中创建名字为score的表。打开“企业管理器”,选择“数据库”下的Student,在Student管理的“表”的选项上单击右键,创建新的用户表:score。score表的字段(属性)为:学号(char
5、),姓名(char),数学成绩(float),物理成绩(float),英语成绩(float)其中,“学号”字段为主键,如图7.4和图7.5所示。62022/12/277.2 JDBC JDBC JDBC(Java DataBase Connectivity)是Java数据库连接API,它由一些Java类和接口组成。在JSP中可以使用JDBC实现对数据库中表记录的查询、修改和删除等操作。JDBC技术在JSP开发中占有很重要的地位。我们经常使用JDBC进行如下操作:与一个数据库建立连接 向已连接的数据库发送SQL语句 处理SQL语句返回的结果。使用JDBC时不需要知道底层数据库的细节,JDBC操作
6、不同的数据库仅仅是连接方式上的差异而已。使用JDBC的应用程序一旦与数据库建立连接,就可以使用JDBC提供的API操作数据库,如图7.6所示。72022/12/277.3 数据库连接的常用方式数据库连接的常用方式 应用程序必须首先与数据库建立连接,这也是与数据库交互信息所必须的。本节介绍常用的两种连接方式建建立立JDBC-ODBC桥接器桥接器和加加载纯载纯Java数据数据库驱动库驱动程序程序。82022/12/27 JDBC和数据库建立连接的一种常见方式是建立起一个JDBC-ODBC桥接器。ODBC(Open DataBase Connectivity)驱动程序被广泛的使用,建立这种桥接器后,
7、使得JDBC有能力访问几乎所有类型的数据库。如果使用JDBC-ODBC桥桥接接器器访问数据库,事先必须设置数据源,因为ODBC通过数据源来管理数据,所以必须将某个数据库设置成ODBC的一个数据源,如图如图7.7所示所示。使用JDBC-ODBC桥接器方式与数据库建立连接,需要经过3个步骤:创建ODBC数据源。建立JDBC-ODBC桥接器。和ODBC数据源指定的数据库建立连接。假设应用程序所在的计算机要访问本地或远程的SQL Server 2000服务器上数据库,应用程序所在的计算机负责设置数据源,即将本地或远程的SQL Server服务器上的数据库设置成自己要访问的数据源。7.3.1 JDBC-
8、ODBCJDBC-ODBC桥接器桥接器92022/12/27 图图7.7 ODBC的数据源的数据源 102022/12/27 添加、修改或删除数据源 选择“控制面板”“管理工具”“ODBC数据源”,双击ODBC数据源图标,出现如图7.8所示界面。选择“用户DSN”,就可以完成添加、修改或删除数据源。1.1.创建创建ODBCODBC数据源数据源-112022/12/27 为数据源选择驱动程序 在图7.8所示的界面上选择单击【添加】按钮,出现为新增的数据源选择驱动程序界面(如图7.9所示),因为要访问SQL Server数据库,选择SQL Server,然后单击【完成】按钮。1.1.创建创建ODB
9、CODBC数据源数据源_ _122022/12/27 数据源名称及所在位置 在图7.9所示界面中单击【完成】按钮,将出现设置数据源具体项目的对话框,如图7.10所示。1.1.创建创建ODBCODBC数据源数据源_ _ 在“名称”栏里为数据源起一个自己喜欢的名字,这里起的名字是mymoon。这个数据源就是指若干个数据库。在你想连接哪个SQL Server?栏中选择或输入一个数据库服务器,这里选择网络上的一台机器GXY。然后单击【下一步】按钮。132022/12/27 设置ID与密码 在图7.10所示界面中单击【下一步】按钮,出现设置SQL Server的ID和密码的界面(如图7.11所示),选择
10、“使用用户输入登录标识号和密码的SQL Server验证”选项,这里设置用户名为“sa”、密码为“sa”(安装SQL Server 2000数据库服务器时设置的用户和密码)。然后单击“下一步”按钮。1.1.创建创建ODBCODBC数据源数据源_ _142022/12/27 选择数据库 在图7.12所示界面中选中“更改默认的数据库为”复选框,在其下拉菜单中选择用户sa有权限操作的Student数据库。当然,用户sa还可能有权操作其他数据库,这取决于SQL server 2000的有关设置,这里不再赘述。然后单击【下一步】按钮。1.1.创建创建ODBCODBC数据源数据源_ _152022/12/
11、27 创建数据源 在图7.13所示界面中单击【完成】按钮,就创建了一个新的数据源mymoon。1.1.创建创建ODBCODBC数据源数据源_ _162022/12/27 现在我们有了一个数据源mymoon,这个数据源就是一个数据库Student。为了连接这个数据库,首先要建立一个JDBC-ODBC桥接器:Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Class是包java.lang中的一个类,该类通过调用它的静态方法forName加载sun.jdbc.odbc包中的JdbcOdbcDriver类来建立JDBC-ODBC桥接器。建立桥接器时可能发生异常,
12、因此捕获这个异常。所以建立桥接器的标准如下:try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException e)2.2.建立建立JDBC-ODBCJDBC-ODBC桥接器桥接器 172022/12/27 编写连接数据库代码不会出现数据库的名称,只能出现数据源的名字。先使用java.sql包中的Connection类声明一个对象,然后再使用类DriverManager调用它的静态方法getConnection创建这个连接对象:Connection con=DriverManager.getConnectio
13、n(jdbc:odbc:数据源名字,login name,password);为了能与数据源mymoon交换数据,建立Connection对象如下:Connection con=DriverManager.getConnection(jdbc:odbc:mymoon,sa,sa);建立连接时应捕获SQLException异常:try Connection con=DriverManager.getConnection(jdbc:odbc:mymoon,sa,sa);catch(SQLException e)这样就与数据源mymoon建立了连接。应用程序一旦与某个数据源建立连接,就可以通过SQL
14、语句与该数据源所指定的数据库中的表交互信息,如查询、修改、更新表中的记录。例7-1是一个简单的JSP页面,该页面中的Java程序片代码负责连接到数据源mymoon,查询score表中的全部记录。效果如图7.14所示。3.与与ODBCODBC数据源指定的数据库建立连接数据源指定的数据库建立连接 182022/12/27 例题例题7-1 效果图效果图7.14192022/12/27 用Java语言编写的驱动程序称为纯Java驱动程序。JDBC提供的API通过将纯Java驱动程序转换为DBMS(数据库管理系统)所使用的专用协议来实现和特定的DBMS交互信息,简单地说,JDBC可以调用本地的纯Java
15、驱动程序和相应的数据库建立连接,如图7.15所示。使用纯Java数据库驱动程序方式和数据库建立连接需要经过两个步骤 加载纯Java驱动程序 指定的数据库建立连接。7.3.2 使用纯使用纯JavaJava数据库驱动程序数据库驱动程序 202022/12/27 使用纯Java驱动程序访问数据库不需要设置数据源,由于不依赖于ODBC,使得应用程序具有很好的移植性。目前,许多数据库厂商都提供了自己的相应的纯Java驱动程序。当使用纯Java驱动程序访问数据库时,必须要保证在连接数据库的应用程序所驻留的计算机上安装相应DBMS提供的纯Java驱动程序。可以登录到http:/下载并安装Microsoft公
16、司提供的驱动程序sqljdbc_1.1.1501.101_enu.exe,在安装目录的enu子目录中可以找到驱动程序文件sqljdbc.jar,将该驱动程序复制到Tomcat服 务 器 所 使 用 的 JDK的 文 件 夹 jrelibext中,如D:jdk1.5jrelibext,或复制到Tomcat服务器安装目录的文件夹 commonlib中,如D:apache-tomcat-5.5.20commonlib。应用程序加载SQLServer驱动程序代码如下:try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver).newI
17、nstance();catch(Exception e)1.1.加载纯加载纯JavaJava驱动程序驱动程序 212022/12/27 假 设 SQL Server数 据 库 服 务 器 所 驻 留 的 计 算 机 的 IP地 址 是192.168.100.1,SQL Server数据库服务器占用的端口是1433。应用程序要与SQL Server数据库服务器管理的数据库Student建立连接,而有权访问数据库Student的用户的id和密码分别是sa、sa,那么建立连接的代码如下:try String uri=jdbc:sqlserver:/192.168.100.1:1433;Databas
18、eName=Student;String user=sa;String password=sa;con=DriverManager.getConnection(uri,user,password);catch(SQLException e)应用程序一旦与某个数据库建立连接,就可以通过SQL语句与该数据库中的表交互信息,如查询、修改、更新表中的记录。注注:如果应用程序要连接SQL Server 2000服务器驻留在同一计算机上,使用的IP地址可以是127.0.0.1 如果应用程序无法与SQL Server 2000服务器建立连接,可能需要更新SQL Server 2000服务器,登录到http:
19、/下载SQL Server 2000的补丁SQLsp4.rar,安装该补丁即可。例 7-2是 一 个 简 单 的 JSP页 面,该 页 面 中 的 Java程 序 片 代 码 负 责 加 载SQLServer2000的Java驱动程序,并连接到数据库Student,查询score表中的数学成绩大于80的全部记录。效果如图7.16所示。2.2.与与指定的数据库建立连接指定的数据库建立连接 222022/12/27 例题例题7-2 效果图效果图7.16232022/12/277.4 查询操作查询操作_ _步骤步骤 1 1 与数据库建立连接后,就可以使用JDBC提供的API和数据库交互信息,如查询、
20、修改和更新数据库中的表等。JDBC与数据库表进行交互的主要方式是使用SQL语句,JDBC提供的API可以将标准的SQL语句发送给数据库,实现与数据库的交互。本书中后续的例子采用的数据库连接方式为JDBC-ODBC桥接器方式和使用纯Java驱动程序方式。使用的数据源的名字为mymoon,数据库为Student。进行查询操作的具体步骤如下:进行查询操作的具体步骤如下:(1 1)向数据库发送)向数据库发送SQLSQL查询语句查询语句 首先使用Statement声明一个SQL语句对象,然后利用7.1节创建的连接对象con调用方法createStatment()创建这个SQL语句对象。try State
21、ment sql=con.createStatement();try Statement sql=con.createStatement();catch(SQLException e)catch(SQLException e)242022/12/277.4 查询操作查询操作_ _步骤步骤 2 2 (2 2)处理查询结果)处理查询结果 有了SQL语句对象后,这个对象就可以调用相应的方法,实现对数据库中表的查询和修改,并将查询结果存放在一个ResultSet类声明的对象中。SQL查询语句对数据库的查询操作将返回一个ResultSet对象。ResultSet对象是以统一形式的列组织的数据行组成。例如
22、对于 ResultSet rs=sql.executeQuery(SELECT*FROM score)ResultSet rs=sql.executeQuery(SELECT*FROM score);内存的结果集对象rs如图图7.177.17(a a)所示。对于 ResultSet rs=sql.executeQuery(SELECT ResultSet rs=sql.executeQuery(SELECT 姓名姓名,物理成绩物理成绩,英语成绩英语成绩 FROM score);FROM score);内存的结果集对象rs如图图7.177.17(b b)所示。ResultSet对象一次只能看到一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第7章 在JSP中使用数据库 JSP 使用 数据库
限制150内