JSP中数据库的使用.ppt

上传人:小飞机 文档编号:5436390 上传时间:2023-07-06 格式:PPT 页数:24 大小:299KB
返回 下载 相关 举报
JSP中数据库的使用.ppt_第1页
第1页 / 共24页
JSP中数据库的使用.ppt_第2页
第2页 / 共24页
JSP中数据库的使用.ppt_第3页
第3页 / 共24页
JSP中数据库的使用.ppt_第4页
第4页 / 共24页
JSP中数据库的使用.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《JSP中数据库的使用.ppt》由会员分享,可在线阅读,更多相关《JSP中数据库的使用.ppt(24页珍藏版)》请在三一办公上搜索。

1、第七章 JSP中数据库的使用,西南科技大学网络教育系列课程动态网页设计(JSP),数据库应用开发简介,作为有效的数据存储和组织管理工具,数据库的应用日益广泛,目前主流的数据库产品有Oracle、SQL Server、DB2和SyBase等多种。在数据库开发领域中,有三个方面需要掌握:SQL语言、ODBC数据访问接口和JDBC数据库访问接口。,SQL语言概述,SQL(Structured Query Language)是关系型数据库的标准语言,是由国际标准组织提出的,各种关系型数据库都支持SQL指令,Oracle在基本的SQL基础上进行了扩充。,SQL集DDL(Data Definition L

2、anguage:数据定义语言),DML(Data Manipulation Language:数据操作语言)和DCL(Data Control Language:数据控制语言)于一体。用SQL语言可以实现数据库生命周期的全部活动。,SQL语句有如下的两大特点,(1)SQL是一种类似于英语的语言,很容易理解和书写。,(2)SQL语言是非过程化的语言(第四代语言)。,ODBC数据访问接口,开放式数据库互连ODBC(Open DataBase Connectivity)是微软公司开发的一套开发数据库系统应用程序接口规范,它支持应用程序以标准的ODBC函数和SQL语句操作各种不同的数据库。,JDBC数

3、据访问接口,为支持Java程序的数据库操作功能,Java语言采用了专门Java数据库编程接口(JDBC,Java DataBase Connectivity),用于在Java程序中实现数据库操作功能并简化操作过程。JDBC支持基本SQL语句,提供多样化的数据库连接方式,为各种不同的数据库提供统一的操作界面,SQL语句分类,基本SQL语句,基本的SQL语句包括DQL和DML。也就是对数据库最常用的四大基本操作:查询(Select)、插入(Insert)、更新(Update)和删除(Delete),查询语句,SELECT 字段名 FROM 数据表 WHERE 筛选条件,SELECT*FROM gr

4、ade WHERE数学=80 or 语文=90,SELECT*from userTable where user_age in 20,22,25,SELECT*from userTable where user_name like 王%,SELECT*from userTable where user_name is null,DML的基本格式,(1)DELETE指令:删除数据记录。基本语法:DELETE FROM 数据表 WHERE 条件例:DELETE from grade WHERE 数学=0 功能说明:删除所有数学成绩为零的记录,如果没有WHERE子句,则删除所有记录。,(2)UPDA

5、TE指令:更新数据记录。基本语法:UPDATE 数据表 SET 字段值=新值 WHERE条件例1:UPDATE grade SET 数学=数学+10 说明:将grade表中所有人的成绩加10分 例2:UPDATE grade SET 数学=100 WHERE 姓名 like%敏%,功能说明:将姓名中含有敏的人的数学成绩更新为100分,INSERT INTO指令,功能说明:该语句等价于:INSERT INTO grade(学号,姓名,语文,数学,英语)VALUES(5678,周润发,70,80,90),(3)INSERT INTO指令:添加数据记录。,基本格式1:INSERT INTO 数据表

6、VALUES(字段新值)基本格式2:INSERT INTO 数据表(字段一,字段二,)VALUES(字段新值),其中关键字两种格式的区别是:当values含有数据库表所有字段的值,并且顺序和数据库字段一致时,就可以省略数据库表后面的字段名称。,例1:INSERT INTO grade(学号,姓名,数学)VALUES(1234,周润发,70)例2:INSERT INTO grade VALUES(5678,周润发,70,80,90),JDBC的四种类型,目前,比较常见的JDBC驱动程序可分为以下4种类型:,(1)JDBC-ODBC桥加ODBC驱动程序:JDBC-ODBC桥产品利用ODBC驱动程序

7、提供JDBC访问。在服务器上必须可以安装ODBC驱动程序。,(2)本地API:这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调用。,(3)JDBC网络纯Java驱动程序:这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上。,第3类和第4类驱动程序将成为JDBC访问数据库的首选方法。第1类和第2类驱动程序在直接的纯Java驱动程序还没有上市前会作为过渡方案来使用。,(4)本地协议纯Java驱动程序:

8、这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。这将允许从客户机机器上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。,ODBC数据源,ODBC配置,数据驱动程序,使用JDBC的第一步是安装驱动程序。大多数数据库都有JDBC驱动程序,常用的JDBC驱动程序如图所示。,Driver,连接数据库前先要加载驱动程序,import java.sql.*,Class.forName(”);,Class.forName(“jdbc.driver_class_name”);,Connection对象,public static Connection getConne

9、ction(String url,String user,String password)throws SQLException,建立是建立与数据库之间的连接,也就是创建一个Connection的实例。DriverManager类的getConnection()方法将建立数据库的连接:,在程序的最后,应该关闭Connection对象:public void close()throws SQLException,SQL Server下的URL:jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=xx,Connection接口的方法,publ

10、ic Statement createStatement()throws SQLException,public void commit()throws SQLException,public boolean getAutoCommit()throws SQLException,public CallableStatement prepareCall(String sql)throws SQLException,Statement对象,Statement对象用于将SQL语句发送到数据库中。存在3种Statement对象:,(1)Statement;,(2)PreparedStatement(从

11、Statement继承而来);,(3)CallableStatement(从PreparedStatement继承而来)。,Statement接口,Statement接口提供了两种执行SQL语句的常用方法:,public ResultSet executeQuery(String sql)throws SQLException用于产生单个ResultSet的语句,例如SELECT语句。,public int executeUpdate(String sql)throws SQLException用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,例如CREATE TAB

12、LE和DROP TABLE。该方法返回一个整数,指示受影响的行数。,ResultSet对象,ResultSet包含符合SQL语句执行结果所有行,并且它通过一套get方法提供了对这些行中数据的访问,常用的get方法有:,int getInt(int columnIndex),取得当前行中第columnIndex列的整数的值。int getInt(String columnName),取得当前行中列名为columnName的整数的值。其他方法:getDate(int columnIndex)getDate(String columnName)getString(int columnIndex),g

13、etString(String columnName),ResultSet维护指向其当前数据行的光标,让光标向下移动一行的方法是:public boolean next()throws SQLException,利用While循环获取数据表中所有记录,利用ResultSet对象在建立时,记录指针指向第一条记录之前,结合ResultSet对象提供的next方法,在while循环中移动记录指针,向下逐条地将数据库中的记录依次获取,在移动到记录的最后一条,由next方法返回值false来结束循环。语法结构:while(rs.next()rs.getXXX(“字段名称”);,结果集类型,结果集类型有3

14、种:,ResultSet.TYPE_FORWORD_ONLY:指定ResultSet对象是不可滚动,这是默认值。,ResultSet.TYPE_SCOLL_INSENSITIVE:指定ResultSet对象是可滚动的,但是对数据库中修改不敏感。,ResultSet.TYPE_SCOLL_SENSITIVE:指定ResultSet对象是可滚动的,而且对数据库的修改敏感。,修改对结果集的影响,结果集的并发性,结果集的并发性(Concurrency)决定ResultSet对象是否可以修改数据库中的行。可以使用ResultSet类中定义的int常量来指定结果集的并发性。,ResultSet.CONCU

15、R_READ_ONLY,指定ResultSet对象不能修改数据库,默认值。,ResultSet.CONCUR_UPDATABLE,指定ResultSet对象可以修改数据库,总结:JDBC访问数据库基本方法,数据访问基本格式,Class.forName(JDBC驱动程序);,Connection conn=DriverManager.getConnection(相应JDBC驱动程序的连接串);,Statement stmt=conn.createStatement();,ResultSet rs=stmt.executeQuery(DQL语句);/如果是数据查询,stmt.executeUpdate(DML语句);/如果是数据操作,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号