Java软件开发技术 教学课件 ppt 作者 陈炜 张晓蕾 侯燕萍 何凌云 第4章

上传人:E**** 文档编号:89381746 上传时间:2019-05-24 格式:PPT 页数:63 大小:197KB
返回 下载 相关 举报
Java软件开发技术 教学课件 ppt 作者  陈炜 张晓蕾 侯燕萍 何凌云 第4章_第1页
第1页 / 共63页
Java软件开发技术 教学课件 ppt 作者  陈炜 张晓蕾 侯燕萍 何凌云 第4章_第2页
第2页 / 共63页
Java软件开发技术 教学课件 ppt 作者  陈炜 张晓蕾 侯燕萍 何凌云 第4章_第3页
第3页 / 共63页
Java软件开发技术 教学课件 ppt 作者  陈炜 张晓蕾 侯燕萍 何凌云 第4章_第4页
第4页 / 共63页
Java软件开发技术 教学课件 ppt 作者  陈炜 张晓蕾 侯燕萍 何凌云 第4章_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《Java软件开发技术 教学课件 ppt 作者 陈炜 张晓蕾 侯燕萍 何凌云 第4章》由会员分享,可在线阅读,更多相关《Java软件开发技术 教学课件 ppt 作者 陈炜 张晓蕾 侯燕萍 何凌云 第4章(63页珍藏版)》请在金锄头文库上搜索。

1、第 4 章 Java数据库程序开发,4.1 数据库和SQL语句 4.2 JDBC 概 述 4.3 JDBC数据库开发基础 4.4 JDBC数据库高级开发 4.5 数据库程序开发实例,通过本章的学习,读者应该掌握以下内容: 目前流行的数据库产品及SQL语句的使用方法 JDBC的基本原理及JDBC驱动程序的类型 JDBC数据库开发基础 JDBC数据库高级开发 数据库程序开发实例,4.1 数据库和SQL语句,4.1.1 常用数据库介绍 目前应用比较多的数据库系统是:Oracle、Microsoft SQL Server、Sybase、Informix、DB2、MySql等。,4.1.2 建表、修改和

2、删除表 1创建表 CREATE TABLE(列级完整性约束条件 ,列级完整性约束条件,); 其中表名是所要定义的表的名字,它可以由一个或多个属性(列)组成。,2修改表 随着应用环境和应用需求的变化,有时需要修改已建立好的表,SQL用ALTER TABLE语句修改表,其一般格式为: ALTER TABLE 表名 ADD完整性约束 DROP MODIFY:,其中是要修改的表,ADD子句用于增加新列和新的完整性约束条件,DROP子句用于删除指定的完整性约束条件,MODIFY子句用于修改原有的列定义,包括修改列名和数据类型。,3删除表 当某个表不再需要时,可以便用DROP TABLE语句删除它。其一般

3、格式为: DROP TABLE 表名;,4.1.3 数据更新 数据更新操作有3个:向表中添加若干行数据、修改表中的数据和删除表中的若干行数据。在SQL语言中有相应的3个语句,分别对应插入、修改和删除操作。,1插入操作 插入操作的语句格式是: INSERT INTO(,) VALUES(,常量 2),2修改操作 修改操作又称为更新操作,语句的一般格式是: UPDATE 表名 SET=,= WHERE ;,3删除操作 删除操作是将表中不再需要的数据从表中永久去除,不再保存在数据库中。SQL中用删除语句来实现。语句的一般格式是: DELETE FROM表名 WHERE,4.1.4 数据查询 数据库查

4、询是数据库的核心操作。SQL语言提供了SELECT语句进行数据库的查询,该语句具有灵活的使用方式和丰富的功能。其一般格式是:,SELECTALL|DISTINCT, FROM, WHERE GROUP BYHAVING ORDER BYASC|DESC;,1单表查询 单表查询是指FROM子句中仅涉及一个表的查询。 (1)查询指定列 (2)查询全部列,2WHERE子句 WHERE子句是在行方向上对表进行操作,返回满足条件的数据集。最简单的是比较条件,是用比较运算符比较两个常量或变量的大小,还可以用逻辑运算符AND、OR、NOT构成复杂的条件。常用的运算符见表4-1。,3ORDER BY子句 用户

5、可以用ORDER BY子句对查询结果按照一个或多个属性列的升序(ASC)或降序(DESC)排列。默认值为升序。,4GROUP BY子句 GROUP BY子句将查询结果按某一列或多个列对数据进行分组,这些列称为分组列,在分组列上的值相等的数据为一组。,4.2 JDBC 概 述,JDBC是一种用于执行SQL语句的Java API。它由一组用 Java 编程语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的 API,使他们能够用纯 Java API 来编写数据库应用程序。,4.2.1 JDBC驱动程序 JDBC驱动程序分为四种类型。 1JDBC-ODBC桥 (JDBC-ODBC Bri

6、dge) JDBC-ODBC桥是一种JDBC驱动程序,通过JDBC-ODBC桥,开发者可以使用JDBC来访问一个ODBC数据源。,2本地API(Java to Native API) JDBC-Native API提供了一个建筑在本地数据库驱动上的JDBC接口。,3JDBC网络纯Java驱动程序(JDBC-Network Bridge) JDBC网络纯Java驱动程序是四种类型中最灵活的,也是最常用的。它是一种纯Java的驱动程序。这种驱动程序不需要客户端的数据库驱动,而是使用网络服务器中间层来访问一个数据库。该类型的驱动程序是网络协议中体现完全Java技术性能的驱动程序,它为Java应用程序

7、提供了一种进行JDBC调用的机制。,4本地协议纯Java驱动程序(Pure Java JDBC Drive) 本地协议纯Java驱动程序也是一种纯Java的驱动程序,它通过本地协议直接与数据库引擎相连。,4.2.2 JDBC和主流数据库的连接 数据库URL对象与网络资源的统一资源定位类似,其构成格式如下: jdbc:subProtocol:subName:/hostname:port;DatabaseName=XXX,jdbc表示当前通过Java的数据库连接进行数据库访问; subProtocol表示通过某种驱动程序支持的数据库连接机制; subName表示在当前连接机制下的具体名称; hos

8、tname表示主机名;,port表示相应的连接端口; DatabaseName是要连接的数据库的名称。 按照上述构造规则,可以构造如下类型的数据库URL: jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=test,几种常见数据库的连接属性如下。 与Oracle数据库的连接 连接Oracle 8/8i/9i数据库(用thin模式) JDBC驱动:oracle.jdbc.driver.OracleDriver 连接字符串:“jdbc:oracle:thin:hostip:1521:oracleSID“, 与SQLServer 7.0/20

9、00数据库的连接 JDBC驱动:com.microsoft.jdbc.sqlserver.SQLServerDriver 连接字符串:“jdbc:microsoft:sqlserver:/ hostip:1433“,4.3 JDBC数据库开发基础,4.3.1 DriverManager对象 DriverManager对象是用于管理JDBC驱动程序的接口,作用于用户和驱动程序之间。这个接口的主要用途是通过getConnection方法来取得Connection对象的引用。,4.3.2 Connection对象 Connection对象是通过DriverManager.getConnection(

10、)方法取得的,表示驱动程序提供的与数据库连接的对话,对数据库的操作都是在这个连接的基础上进行的。,4.3.3 Statement对象 Statement对象用于在已经建立的连接的基础上向数据库发送SQL语句的对象,包括了执行SQL语句和获取返回结果的方法。 Statement对象可以看作是用来执行SQL语言的容器。Statement对象分为以下三种。, Statement:提供了基本查询的接口,一般用来执行简单的、无参数的查询语句。 PreparedStatement:是从Statement类继承过来的类,一般用来执行带IN参数或不带参数的查询语句。 CallableStatement:Cal

11、lableStatement类的基类是PreparedStatement,一般用来代表对存储过程的查询,可以处理OUT参数。,1创建Statement对象 语句如下所示: Connection con = DriverManager.getConnection(url, “tony“, “); Statement stmt = con.createStatement();,2使用Statement对象执行语句 Statement接口提供了三种执行SQL语句的方法:executeQuery、executeUpdate 和execute。使用哪一个方法由SQL语句所产生的内容决定。,3Statem

12、ent对象语句的完成 当连接处于自动提交模式时,其中所执行的语句在完成时将自动提交或还原。语句在已执行且所有结果返回时,即认为已完成。对于返回一个结果集的executeQuery方法,在检索完ResultSet对象的所有行时该语句完成。对于方法executeUpdate,当它执行时语句即完成。但在少数调用方法execute的情况中,在检索所有结果集或它生成的更新计数之后语句才完成。,4关闭Statement对象语句 Statement对象将由Java垃圾收集程序自动关闭。而作为一种好的编程习惯,应在不需要Statement对象时显式地关闭它们。这将立即释放DBMS资源,有助于避免潜在的内存问题

13、。,4.3.4 ResultSet对象 结果集(ResultSet)定义了访问执行Statement产生的结果集的方法,是一个包含了SQL 查询语句结果的表的对象,即用来暂时存放数据库查询操作获得的结果。它包含了符合SQL语句中条件的所有行。,1行和光标 ResultSet维护指向其当前数据行的光标。每调用一次next方法,光标向下移动一行。最初它位于第一行之前,因此第一次调用next将把光标置于第一行上,使它成为当前行。随着每次调用next导致光标向下移动一行,按照从上至下的次序获取ResultSet行。,2列 方法getXXX提供了获取当前行中某列的值的途径。在每一行内,可按任何次序获取列

14、值。但为了保证可移植性,应该从左至右获取列值,并且一次性地读取列值。,3使用流获取大型数据 一个结果集中可以取出任意大的数据类型,例如,对于longvarbinary或longvarchar类型的数据,getBytes和getString方法返回的结果是一个大的字节块。但是,大字节块的存取非常麻烦且效率不高,因此把返回的结果分成适当大小的小字节块将会使数据的存取更方便。所以可以让ResultSet类返回java.io包中的输入/输出流,这样程序就可以从流中用小字节块来读取数据。,4可滚动结果集 结果集可以有不同程度的功能,例如,可滚动或不可滚动。一个可滚动的结果集可以有一个可以向前或是向后滚动

15、的游标,也可以流动到某一个特定的行上,而且结果集可以对在打开该结果集的过程中数据库本身记录是否改变做出反应。当然,如果要为打开的结果集加上这些特性会占用更多的系统资源。,5可更新结果集 一个结果集有不同的更新特性,分为可动态更新和不可动态更新。可动态更新的结果集可以对更新记录提供很大的方便。,4.3.5 数据库的连接 (1)装载并注册数据库的JDBC驱动程序 其中JDBC-ODBC Driver是在JDK中自带的,默认已经注册,所以不需要再注册。 以下分别给出了装载JDBC-ODBC驱动程序,装载并注册SQLServer驱动程序、Oracle驱动程序和MySQL驱动程序的代码。,(2)建立与数

16、据库的连接 Connection con=java.sql.DriverManager.getConnection(url,user,password); 这个getConnection()方法中有三个参数,url表示连接数据库的JDBC URL,user和password分别表示连接数据库的用户名和口令。,(3)创建Statement对象,准备调用SQL语句 例如: Statement stmt=con.createStatement(); (4)调用SQL语句 例如: String sql=“select id,name,title,price from books where name=Tomand price=40“; ResultSet rs=stmt.executeQuery(sql);,(5)访问ResultSet中的记录集 例如: while (rs.ne

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号