Java程序设计教程课件第9章 JDBC和数据库访问_第1页
Java程序设计教程课件第9章 JDBC和数据库访问_第2页
Java程序设计教程课件第9章 JDBC和数据库访问_第3页
Java程序设计教程课件第9章 JDBC和数据库访问_第4页
Java程序设计教程课件第9章 JDBC和数据库访问_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

第9章数据库与JDBCJDBC主要类及接口2JDBC事务处理4JDBC简介31通过JDBC访问数据库33本章内容提要9.1JDBC简介

JDBC(JavaDataBaseConnectivity,Java数据库连接)是Java程序连接和存取数据库的应用程序接口(API),它由一组用Java语言编写的类与接口组成。通过JDBC提供的方法,用户能够以一致的方式连接多种不同的数据库系统,而不必再为每一种数据库系统编写不同的Java程序代码。9.1JDBC简介JDBCAPIJDBC驱动程序管理器JDBC/ODBC桥ODBC驱动程序DBJDBC驱动程序DB图11-1JDBC框架结构Java应用程序JDBC结构

9.1JDBC简介在编写数据库程序时,通常采用两种方式与数据库进行交互。一种是通过JDBC-ODBC桥。另一种方法是通过数据库提供商或第三方公司开发的JDBC驱动程序对数据库进行访问,这种方式加强了应用程序的可移植性和安全性。JDBC应用模式9.1JDBC简介Java应用程序JDBC数据库图11-2JDBC两层模型1.应用模式一——两层结构9.1JDBC简介在两层结构中,Javaapplet和Java应用程序将直接与数据库进行对话。用户的SQL语句被送往数据库中而其结果将被送回给用户。数据库可以位于另一台计算机上,用户通过网络连接到上面。即客户机/服务器(c/s)配置。9.1JDBC简介2.应用模式二——两层结构Java服务器程序JDBCJavaapplet数据库图11-3JDBC三层模型9.1JDBC简介在三层结构中,命令先被发送到服务的“中间层”,然后由它将SQL语句发送给数据库。数据库对SQL语句进行处理并将结果送回到中间层,中间层再将结果送回给用户。三层结构具有更强的优势,首先,使用灵活,可以用中间层来控制对数据的访问和可做的操作的种类;其次,操作简单,用户可以利用易于使用的高级API,而由中间层把它转换为相应的低级调用。9.2JDBC主要类和接口

JDBC由java.sql包中的20多个java类组成。java.sql包提供了核心的JDBCAPI,其包含了访问数据库所必须的类、接口和各种访问数据库异常类。JDBCAPIJDBCDriverManager数据库驱动应用程序应用程序应用程序数据库数据库数据库图11-4JDBCAPI的组成结构1.DriverManager类该类用来处理JDBC驱动程序,以及创建数据库连接。2.Driver该接口代表JDBC驱动程序,必须有驱动程序供应商实现。3.Connection该接口代表数据库连接,并拥有创建SQL语句的方法,以完成常规的SQL操作。9.2JDBC主要类和接口

4.Statement提供用来执行SQL语句的方法。5.ResultSet该接口提供了对返回结果集的操作方法。6.SQLException一个关于对数据库访问的异常接口。该接口提供了一些方法,用以检索数据库提供的错误消息和错误代码。9.2JDBC主要类和接口

DriverManager类

DriverManager类是java.sql包中用于数据库驱动程序管理的类,作用于用户和驱动程序之间。它跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接,也处理诸如驱动程序登录时间限制及登录和跟踪消息的显示等事务。DriverManager类直接继承自java.lang.object9.2JDBC主要类和接口

方法含义static

voidderegisterDriver(Driver

driver)从数据库驱动程序列表中删除一个指定的驱动程序static

Connection

getConnection

(String

url)通过指定的数据库URL创建数据库连接static

ConnectiongetConnection

(String

url,Properties

info)通过指定的数据库URL及属性信息创建数据库连接static

ConnectiongetConnection

(String

url,String

user,String

password)通过指定的数据库URL及用户名和密码创建数据库连接static

DrivergetDriver(String

url)通过指定的URL获取数据库的驱动程序static

Enumeration<Driver>getDrivers()获取数据库驱动程序的枚举9.2JDBC主要类和接口

Connection接口

Connection是用来表示数据库连接的对象,对数据库的一切操作都是在这个连接的基础上进行的9.2JDBC主要类和接口

方法含义voidclearWarnings清除连接的所有警告信息Statement

creatStatement()创建一个Statement对象Statement

creatStatement(intResultSetType,intresultSetConcurrency)创建一个Statement,它将生成具有特定类型和并发性的结果voidcommit()提交对数据库的改动并释放当前连接持有的数据库的锁voidrollback()回滚当前事务的所有改动并释放当前连接持有的数据库的锁StringgetCatalog()获取连接对象的当前目录名9.2JDBC主要类和接口

Statement接口

Statement用于在已经建立的连接的基础上向数据库发送SQL语句的对象。它只是一个接口的定义,其中包括了执行SQL语句和获取返回结果的方法。创建Statement对象的基本方法如下:

Statementst=con.creatStatement();9.2JDBC主要类和接口

1.3种Statement对象

Statement、PrepareStatement、CallableStatement。它们都作为在给定连接上执行SQL语句的容器,每个都专用于发送特定类型的SQL语句。Statement对象用于执行不带参数的简单SQL语句;PrepareStatement对象用于执行带或不带IN参数的预编译SQL语句;CallableStatement对象用于执行对数据库存储过程的调用。9.2JDBC主要类和接口

2.3种执行SQL语句的方法executeQuery方法用于产生单个结果集的SQL语句,如SELECT语句;executeUpdate方法用于执行INSERT、UPDATE、DELETE及DDL(数据定义语言)语句;execute方法用于执行返回多个结果集或多个更新技术的语句。9.2JDBC主要类和接口

PreparedStatement接口

PreparedStatement接口继承了Statement接口,但PreparedStatement语句中包含了警告预编译的SQL语句,因此可以获得更高的执行效率。在PreparedStatement语句中可以包含多个用问号“?”代表的字段,在程序中可以利用setXXX方法设置该字段的内容,从而增强了程序设计的动态性。9.2JDBC主要类和接口

PreparedStatement与Statement的区别

PreparedStatement构造的SQL语句不是完整的语句,而需要在程序中进行动态设置。PreparedStatement的优势1.增强了程序设计的灵活性;2.由于PreparedStatement语句是经过预编译的,因此它构造的SQL语句的执行效率比较高。9.2JDBC主要类和接口

ResoultSet接口

ResultSet接口用来暂时存放数据库查询操作获得的结果。它包含了符合SQL语句中条件的所有数据行,并且它提供了一系列get方法对这些数据行中的数据进行访问。9.2JDBC主要类和接口

ResultSet结果集的游标ResultSet结果集的指针指向当前数据行。最初它位于第一行之前,因此第一次访问结果集时通常调用next方法将指针置于第一行上,使它成为当前行。随后每次调用next指针向下移动一行。9.2JDBC主要类和接口

配置ODBC数据源1.本章以SQLServer数据库Sales为例讲解数据源配置过程以及对数据库的相关操作。假设Sales库中有一个表goodsStore,该表存储商品相关信息。2.其结构如书中表9-4所示。3.具体配置见范例。9.3通过JDBC访问数据库

JDBC工作流程在Java语言中,访问数据库的步骤是:1.加载JDBC驱动程序;2.创建数据库的连接;3.执行SQL语句;4.接收并处理结果集;5.断开连接,关闭数据库。9.3通过JDBC访问数据库

1、事务简介事务是为解决数据的安全操作而提出的,事务控制实际上就是控制数据的安全访问。事务必须服从ACID原则。原子性(atomicity)一致性(consistency)隔离性(isolation)持久性(durability)9.4JDBC事务处理

2、Java事务类型JDBC事务JDBC事务是用Connection对象控制的。JDBCConnection接口提供了两种事务模式:自动提交和手工提交。默认情况下是自动提交模式,如果需要绑定事务应该将其修改为手动提交模式。9.4JDBC事务处理

2、Java事务类型JTA(JavaTransactionAPI)事务JTA是一种高层的,与实现无关的,与协议无关的API,应用程序和应用服务器可以使用JTA来访问事务。JTA

温馨提示

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

评论

0/150

提交评论