《数据库连接》ppt课件

上传人:san****019 文档编号:83799083 上传时间:2019-03-01 格式:PPT 页数:40 大小:502.50KB
返回 下载 相关 举报
《数据库连接》ppt课件_第1页
第1页 / 共40页
《数据库连接》ppt课件_第2页
第2页 / 共40页
《数据库连接》ppt课件_第3页
第3页 / 共40页
《数据库连接》ppt课件_第4页
第4页 / 共40页
《数据库连接》ppt课件_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《《数据库连接》ppt课件》由会员分享,可在线阅读,更多相关《《数据库连接》ppt课件(40页珍藏版)》请在金锄头文库上搜索。

1、第六章 JSP中数据库的使用,主 讲:曹 莹,重点+难点,数据库环境的配置 利用JDBC驱动实现对数据库的访问,6.1 数据库和常用的SQL语句,数据库管理系统(DBMS)是一个软件系统,它具有存储、检索和修改数据的功能,数据库关联系统具有4个发展阶段。层次型、网络型、关系型和关系对象型。 我们使用的是SQL Server2000,mysql JDBC是Sun公司提供的一组类和接口,程序员可以利用这组类和接口与数据库进行通信。JDBC接口,非常方便的实现了在java中连接数据库,SQL语句,创建删除数据库 create database book drop database book 创建删除

2、表 create table item (item_Id int, item_name varchar(20) drop table item 更改表的结构 alter table item add item_dis varchar(100) alter table item drop item,SQL语句,创建删除视图 create view products(productname,quantity,listprice) as select p.productname,v.qty,i.listprice from product p,inventory v,item i where p.p

3、roductId=i.productid and itwmid=v.itemid delete view products 插入一条语句 insert语句是用来向表中添加记录的 insert into item values(1,“计算机”,“计算机工程类的书籍”),SQL语句,在表中删除数据 delete删除表中已经存在的一条或多条记录 delete from item where item_Id=1; 更新表中的数据 update语句用来修改表中已经存在的一条或多条记录 update item set intem_name=“法学” where item_Id=1,SQL语句,条件子句 (

4、1)where语句 使用where可以选择满足条件的特定记录 (2)in和not in 选择列值与列值表中某一个值相等的相关信息 (3)betweenand和not betweenand 选择列值在某个范围的记录 (4)like和not like (5)is null和not null (6)逻辑运算and和or (7)order by语句,6.2 JDBC技术和驱动程序 6.2.1JDBC技术介绍,JDBC API为Java开发人员使用数据库提供了统一的编程接口,它由一组Java类和接口组成。JDBC API使得开发人员可与使用纯Java语言的方式来连接数据库,并进行操作。 企业级环境中进行

5、的数据库操作远远不只是 连接数据库并执行语句,还需要考虑其它方面的要求。包括使用连接缓冲池来优化资源的使用,实现分布式事务处理。,JDBC 3.0 版本包含了两个包:Java.sql和Javax.sql,Java.sql 这个包中的类和接口主要是针对基本的数据库编程服务,如生成连接、执行语句、以及准备语句和运行批处理查询等。同时也有一些 高级操作,比如批处理更新、事物隔离和可滚动结果集等。 Javax.sql 这个包主要是为数据库方面的高级操作提供接口和类。如连接管理类、创建语句类,6.2.2数据库驱动器程序,数据库厂商一般会提供一组API访问数据库,有些厂商也专门提供数据库驱动程序,并且这些

6、产品除了执行驱动的功能外,往往还提供一些额外的服务。 JDBC驱动程序是数据库厂商根据Sun公司提供的JDBC接口标准提供的一组实现类。,有4种类型的数据库驱动程序,JDBC-ODBC桥 通过JDBC-ODBC桥,开发者可以使用JDBC访问一个ODBC数据源。 JDBC-ODBC桥驱动程序为Java应用程序提供了一种把JDBC调用映射成ODBC调用的方法。因此在客户端计算机上安装一个ODBC驱动。 缺点:效率相对底下。 部分Java,部分本机驱动程序 这种驱动程序使用Java实现与数据库厂商专有API混合形式来提供数据访问。它比JDBC-ODBC桥的形式快。在这种方势力,必须在内阁运行Java

7、应用程序的客户端安装驱动程序和厂商专有的API。现在大多数的数据库厂商都在其数据库产品中提供该驱动程序,中间数据访问服务器 这种形式使用中间数据访问服务器。通过这种服务器,他可以把Java客户端连接到多个数据库服务器上。他不需要客户端的数据库驱动,而是使用网络-服务器中层来访问一个数据库。该类型的驱动程序使用网络协议,并完全通过Java驱动,他为Java应用程序提供了一种进行JDBC调用的机制。 纯Java驱动程序 这种方式使用厂商专有的网络协议把JDBC API调用转换称直接的网络调用,这种方式的本质是使用套接字进行编程。纯Java驱动运行在客户端,并且直接访问数据库。它的使用比较简单,客户

8、端不需要安装任何中间件或者运行库。现在大部分厂商都提供第4类驱动程序的支持。,四种访问方式比较,第1、2类驱动程序是数据库厂商为提供第4类JDBC驱动程序的一种过渡解决方案,例如通过JDBC访问Access数据库。 第3类驱动程序适合那种需要同时连接多个不同种类的数据库, 并且对并发连接要求高的三层应用程序中。 第1、2、4类驱动程序常用于C/S模式的应用程序中。 访问速度:241 稳定性:421,6.3 JDBC常用接口使用介绍,1.Driver接口 每个数据库驱动程序必须实现Driver接口。对于JSP开发者而言,只要使用Driver接口就可以了。在编程中要连接数据库,必须先装载特定厂商提

9、供的数据库驱动程序(Driver),不同驱动程序的装载方法。 使用JDBC-ODBC BridgeDriver,这样装载: Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); 对于Access适用,使用 JDBC Driver,这样装载 Class.forName(“jdbc.driver_class_name”); 在使用Class.forName之前,先适用import语句导入java.sql包。 import java.sql.*; 装载MS SQLServer 驱动: Class.forName(“com.microsoft.jdbc.sqls

10、erver.SQLServerDriver”); 装载 MySQL JDBC驱动: Class.forName(“org.git.mm.mysql.Driver”); 装载 Oracle JDBC驱动: Class.forName(“oracle.jdbc.driver.OracleDriver”);,2. DriverManager(驱动程序管理器) DriverManager 是JDBC(Java数据库连接)的管理层。作用于用户和驱动程序之间。DriverManager 可以跟踪驱动程序,并在数据库和相应驱动程序之间建立连接。 DriverManager激发getConnection()方

11、法时, DriverManager首先从它已加载的驱动程序池中找到一个可以接受该数据库URL的驱动程序,然后请求该驱动程序使用相关的数据库URL连接到数据库中,于是getConnection()方法建立了与数据库连接。,DriverManager.getConnection()方法(静态的) static connection getConnection(String url); static connection getConnection(String url,String info); static connection getConnection(String url,String n

12、ame,String pwd); URL:类似于其他场合的URL,语法如下: jdbc: jdbc:表示 协议,他是唯一的,JDBC只有这一种协议 子协议:主要用于识别数据库驱动程序,也就是说,不同的数据库驱动程序的子协议不同 子名:它属于专门的驱动程序,不同的专有驱动程序可以采用不同的实现,数据库连接字符串,3.Connection 一个Connection表示与一个特定数据库的会话。 Connection对象代表与数据库的连接。 连接过程包括所执行的SQL语句和在连接上所返回的结果。 Connection conn= DriverManager.getConnection(url,logi

13、n,pwd); Connection接口是JSP编程中使用最频繁的接口之一。Connection接口中常用到的方法: close():关闭连接。 isclose():判断连接是否关闭。 createStatement():创建SQL语句对象。,getAutoCommit():获得当前自动提交状态。 commit():提交对数据库的更改,使更改生效。 setAutoCommit(boolean value):设置连接是否处于自动提交状态。 rollback():回滚上一次提交或回滚操作后的所有更改 prepareStatement(String sql):可以被预编译存放在prepareStat

14、ement对象中,该对象用于有效地多次执行该语句。 prepareCall(String sql):返回值是创建的CallableStatement 对象,可以用来处理一个SQL存储过程 setReadOnly():可以把一个连接设置为只读状态。 isReadOnly():检测该连接是否存在只读状态,4.Statement Statement对象代表SQL语句。可用于将SQL语句发送至数据库。Statement对象存在3种。 Statement对象,用来执行基本的SQL语句。 PrepareStatement对象,从Statement继承,用于提供可以查询信息一起预编译的语句。 Callabl

15、eStatement,它继承自PrepareStatement,用来执行数据库中的存储过程。 Statement常用的方法: cancle():用于一个线程取消另一个线程正在执行的一条语句。,close():用来关闭语句。同时立即释放该语句的数据库和JDBC资源。如果它有相应产生的ResultSet,则ResultSet也会被关闭。 execute(String sql): 执行一条可能返回多个结果的SQL语句。返回布尔值。若有ResultSet,则返回true,如果它是一个更新数据或没有其它结果,则返回false。 executeQurey(String sql):执行一个返回单个Resul

16、tSet的SQL语句,返回值是由查询产生的数据ResultSet。 executeUpdate(String sql):执行一条insert、update或delete语句或是没有返回值的SQL语句。该方法返回语句影响的行数,如果是没有影响的行数则返回0。,getResultSet():得到当前的ResultSet的结果。 getUpdateCount():得到更新的数量,如果结果是一个ResultSet或没有其他结果,则返回-1。 5.PrepareStatement PrepareStatement类对象封装一条预编译的SQL语句,用于高效地多次执行该语句。 常用的方法: clearParameters():立即释放当前参数值使用的资源 execute():执行一条可能返回多个结果的SQL语句,返回一个布尔值。如果下一个结果是ResultSet,则返回true,否则返回false,executeQuery():执行准备好的SQL查询并返回ResultSet executeUpdate():执行一条insert、update或delete语句或是没有返回值的SQL语句。 se

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

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

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