数据库连接课件_第1页
数据库连接课件_第2页
数据库连接课件_第3页
数据库连接课件_第4页
数据库连接课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、rop database bookl创建删除表create table item (item_Id int, item_name varchar(20)drop table iteml更改表的结构alter table item add item_dis varchar(100)alter table item drop item数据库连接课件SQL语句l创建删除视图create view products(productname,quantity,listprice) as select ductname,v.qty,i.listprice from product p,inven

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

4、 item_Id=1 数据库连接课件SQL语句l条件子句(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技术介绍lJDBC API为Java开发人员使用数据库提供了统一的编程接口,它由一组Java类和接口组成。JDBC API使得开发人员可与使用纯Java语言

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

6、一般会提供一组API访问数据库,有些厂商也专门提供数据库驱动程序,并且这些产品除了执行驱动的功能外,往往还提供一些额外的服务。lJDBC驱动程序是数据库厂商根据Sun公司提供的JDBC接口标准提供的一组实现类。JDBC 驱动程序的类型 JDBC-ODBC桥驱动程序及桥驱动程序及ODBC驱动程序驱动程序 本地本地API部分部分Java驱动程序驱动程序 JDBC-Net 纯纯Java驱动程序驱动程序 本地协议纯本地协议纯Java驱动程序驱动程序 数据库连接课件有4种类型的数据库驱动程序lJDBC-ODBC桥桥 通过JDBC-ODBC桥,开发者可以使用JDBC访问一个ODBC数据源。 JDBC-OD

7、BC桥驱动程序为Java应用程序提供了一种把JDBC调用映射成ODBC调用的方法。因此在客户端计算机上安装一个ODBC驱动。 缺点:效率相对底下。l部分部分Java,部分本机驱动程序,部分本机驱动程序 这种驱动程序使用Java实现与数据库厂商专有API混合形式来提供数据访问。它比JDBC-ODBC桥的形式快。在这种方势力,必须在内阁运行Java应用程序的客户端安装驱动程序和厂商专有的API。现在大多数的数据库厂商都在其数据库产品中提供该驱动程序数据库连接课件l中间数据访问服务器中间数据访问服务器 这种形式使用中间数据访问服务器。通过这种服务器,他可以把Java客户端连接到多个数据库服务器上。他

8、不需要客户端的数据库驱动,而是使用网络-服务器中层来访问一个数据库。该类型的驱动程序使用网络协议,并完全通过Java驱动,他为Java应用程序提供了一种进行JDBC调用的机制。l纯纯Java驱动程序驱动程序 这种方式使用厂商专有的网络协议把JDBC API调用转换称直接的网络调用,这种方式的本质是使用套接字进行编程。纯Java驱动运行在客户端,并且直接访问数据库。它的使用比较简单,客户端不需要安装任何中间件或者运行库。现在大部分厂商都提供第4类驱动程序的支持。数据库连接课件四种访问方式比较l第第1、2类驱动程序是数据库厂商为提供第类驱动程序是数据库厂商为提供第4类类JDBC驱动程序的一种过渡解

9、决方案,例驱动程序的一种过渡解决方案,例如通过如通过JDBC访问访问Access数据库。数据库。l第第3类驱动程序适合那种需要同时连接多个类驱动程序适合那种需要同时连接多个不同种类的数据库不同种类的数据库, 并且对并发连接要求高并且对并发连接要求高的三层应用程序中。的三层应用程序中。l第第1、2、4类驱动程序常用于类驱动程序常用于C/S模式的应模式的应用程序中。用程序中。l访问速度访问速度:241稳定性稳定性:421数据库连接课件6.3 JDBC常用接口使用介绍1.Driver接口 每个数据库驱动程序必须实现Driver接口。对于JSP开发者而言,只要使用Driver接口就可以了。在编程中要连

10、接数据库,必须先装载特定厂商提供的数据库驱动程序(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.mi

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

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

13、on(String url,String name,String pwd);URL:类似于其他场合的URL,语法如下:jdbc:jdbc:表示 协议,他是唯一的,JDBC只有这一种协议子协议:主要用于识别数据库驱动程序,也就是说,不同的数据库驱动程序的子协议不同子名:它属于专门的驱动程序,不同的专有驱动程序可以采用不同的实现数据库连接课件数据库连接字符串数据库数据库 驱动程序名称驱动程序名称URLMicrosoft Accesssun.jdbc.odbc.JdbcOdbcDriverjdbc:odbc:studentMicrosoft Sql Server 2000com.microsoft.

14、jdbc.sqlserver.SQLServerDriverjdbc:microsoft:sqlserver:/localhost:1433;databasename=studentMicrosoft Sql Server 2005com.microsoft.sqlserver.jdbc.SQLServerDriverjdbc:sqlserver:/localhost:2667;databasename=studentOracle 9ioracle.jdbc.driver.OracleDriverjdbc:oracle:thin:localhost:1521:studentjdbc:oracl

15、e:oci:student数据库连接课件3.Connection一个Connection表示与一个特定数据库的会话。 Connection对象代表与数据库的连接。 连接过程包括所执行的SQL语句和在连接上所返回的结果。 Connection conn= DriverManager.getConnection(url,login,pwd); Connection接口是JSP编程中使用最频繁的接口之一。Connection接口中常用到的方法: close():关闭连接。isclose():判断连接是否关闭。 createStatement():创建SQL语句对象。数据库连接课件getAutoCom

16、mit():获得当前自动提交状态。commit():提交对数据库的更改,使更改生效。setAutoCommit(boolean value):设置连接是否处于自动提交状态。rollback():回滚上一次提交或回滚操作后的所有更改prepareStatement(String sql):可以被预编译存放在prepareStatement对象中,该对象用于有效地多次执行该语句。prepareCall(String sql):返回值是创建的CallableStatement 对象,可以用来处理一个SQL存储过程setReadOnly():可以把一个连接设置为只读状态。isReadOnly():检测

17、该连接是否存在只读状态数据库连接课件4.StatementStatement对象代表SQL语句。可用于将SQL语句发送至数据库。Statement对象存在3种。 Statement对象,用来执行基本的SQL语句。 PrepareStatement对象,从Statement继承,用于提供可以查询信息一起预编译的语句。 CallableStatement,它继承自PrepareStatement,用来执行数据库中的存储过程。Statement常用的方法: cancle():用于一个线程取消另一个线程正在执行的一条语句。数据库连接课件close():用来关闭语句。同时立即释放该语句的数据库和JDBC

18、资源。如果它有相应产生的ResultSet,则ResultSet也会被关闭。execute(String sql): 执行一条可能返回多个结果的SQL语句。返回布尔值。若有ResultSet,则返回true,如果它是一个更新数据或没有其它结果,则返回false。executeQurey(String sql):执行一个返回单个ResultSet的SQL语句,返回值是由查询产生的数据ResultSet。executeUpdate(String sql):执行一条insert、update或delete语句或是没有返回值的SQL语句。该方法返回语句影响的行数,如果是没有影响的行数则返回0。数据库连

19、接课件getResultSet():得到当前的ResultSet的结果。getUpdateCount():得到更新的数量,如果结果是一个ResultSet或没有其他结果,则返回-1。5.PrepareStatementPrepareStatement类对象封装一条预编译的SQL语句,用于高效地多次执行该语句。常用的方法:clearParameters():立即释放当前参数值使用的资源execute():执行一条可能返回多个结果的SQL语句,返回一个布尔值。如果下一个结果是ResultSet,则返回true,否则返回false数据库连接课件 executeQuery():执行准备好的SQL查询并返回ResultSet executeUpdate():执行一条insert、update或delete语句或是没有返回值的SQL语句。setBoolean(int parameterIndex,boolean x);setByte(int parameterIndex,byte x)setBytes(int parameterIndex,byte x)setDate(int parameterIndex

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论