Java数据库访问ppt课件_第1页
Java数据库访问ppt课件_第2页
Java数据库访问ppt课件_第3页
Java数据库访问ppt课件_第4页
Java数据库访问ppt课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、第10讲 Java数据库访问深化了解深化了解JDBC的概念及的概念及JDBC API主要内容主要内容熟练掌握熟练掌握JDBC运用程序开发流程运用程序开发流程熟练掌握运用熟练掌握运用JDBC实现数据库记录实现数据库记录 的插入、删除和修正操作的插入、删除和修正操作熟练掌握运用熟练掌握运用JDBC查询数据库记录查询数据库记录 学习目的与要求学习目的与要求JDBC根底根底nJDBC(Java Database Connectivity)是一个独立于特定数据库是一个独立于特定数据库管理系统的、通用的管理系统的、通用的SQL数据库存取和操作的公共接口一数据库存取和操作的公共接口一组组API,定义了用来访

2、问数据库的规范,定义了用来访问数据库的规范Java类库,运用这类库,运用这个类库可以以一种规范的方法、方便地访问数据库资源在个类库可以以一种规范的方法、方便地访问数据库资源在java.sql类包中。类包中。nJDBC为访问不同的数据库提供了一种一致的途径,象为访问不同的数据库提供了一种一致的途径,象ODBC(Open Database Connectivity)一样,一样,JDBC对开发者屏对开发者屏蔽了一些细节问题。蔽了一些细节问题。nJDBC的目的是使运用程序开发人员运用的目的是使运用程序开发人员运用JDBC可以衔接任何可以衔接任何提供了提供了JDBC驱动程序的数据库系统,这样就使得程序员

3、无驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化需对特定的数据库系统的特点有过多的了解,从而大大简化和加快了开发过程。和加快了开发过程。JDBC根底根底运用程序运用程序驱动程序管理器驱动程序管理器驱动程序驱动程序驱动程序驱动程序驱动程序驱动程序数据源数据源数据源数据源数据源数据源ODBCODBC的体系构造含有四个部件:的体系构造含有四个部件: 运用程序运用程序ApplicationApplication:执行:执行ODBCODBC函数的调用和函数的调用和处置,提交处置,提交SQLSQL语句并检索结果。语句并检索结果。驱动程序管理器驱动程序管理器Dr

4、iver ManagerDriver Manager:为运用程序:为运用程序装载驱动程序。装载驱动程序。驱动程序驱动程序DriverDriver:驱动程序是实现:驱动程序是实现ODBCODBC函数调用函数调用和同数据源交互作用的动态衔接库,它执行和同数据源交互作用的动态衔接库,它执行ODBCODBC函数函数调用,提交调用,提交SQLSQL恳求到指定的数据源,并把结果前往恳求到指定的数据源,并把结果前往给运用程序。假设需求,驱动程序也可改动运用程序给运用程序。假设需求,驱动程序也可改动运用程序的恳求,以和特定的的恳求,以和特定的DBMSDBMS的语法匹配。的语法匹配。数据源数据源Data Sou

5、rceData Source:由用户需求存取的数据和:由用户需求存取的数据和与之相连的操作系统、与之相连的操作系统、DBMSDBMS及存取及存取DBMSDBMS的网络平台组的网络平台组成。成。开放数据库互连开放数据库互连ODBC是为了实现异构数据库互连而由是为了实现异构数据库互连而由Microsoft公司推出的一公司推出的一种规范,它是一个单一的、公共的编程接口。种规范,它是一个单一的、公共的编程接口。ODBC提供不同的程序以存取不同的提供不同的程序以存取不同的数据库,但只提供一种运用编程接口数据库,但只提供一种运用编程接口API给运用程序。给运用程序。ODBCJDBC根底根底与ODBC相类似

6、,JDBC接口API也包括两个层次: 面向运用的API:Java API,笼统接口,供应用程序开发人员运用衔接数据库,执行SQL语句,获得结果。 面向数据库的API:Java Driver API,供开发商开发数据库驱动程序用。与与ODBC相比,相比,JDBC没有了定没有了定制的制的“数据源的数据源的概念,而是直接概念,而是直接在运用程序中加在运用程序中加载驱动程序并衔载驱动程序并衔接特定的数据库。接特定的数据库。q Driver Managerjava.sql.DriverManagerq 装载驱动程序,管理运用程序与驱动程序之间的衔接。装载驱动程序,管理运用程序与驱动程序之间的衔接。q D

7、river由驱动程序开发商提供由驱动程序开发商提供q 将运用程序的将运用程序的API恳求转换为特定的数据库恳求。恳求转换为特定的数据库恳求。q Connectionjava.sql.Connectionq 将运用程序衔接到特定的数据库将运用程序衔接到特定的数据库q Statementjava.sql.Statementq 在一个给定的衔接中,用于执行一个静态的数据库在一个给定的衔接中,用于执行一个静态的数据库SQL语句语句。q ResultSetjava.sql.ResultSetq SQL语句中心完后,前往的数据结果集包括行、列。语句中心完后,前往的数据结果集包括行、列。q Metadata

8、java.sql.DatabaseMetadata; java.sql. ResultSetMetadataq 关于查询结果集、数据库和驱动程序的元数据信息。关于查询结果集、数据库和驱动程序的元数据信息。JDBC根底:主要概念根底:主要概念JDBC根底:根本任务步骤根底:根本任务步骤q Import the necessary classesq Load the JDBC driverq Identify the database sourceq Allocate a “Connection object (create)q Allocate a “Statement object (crea

9、te)q Execute a query using the “Statement objectq Retrieve data from the returned “ResultSet objectq Close the “ResultSet objectq Close the “Statement objectq Close the “Connection objectDriverManagerConnectionStatementResultSetDriverDatabaseCreatesCreatesCreatesSQLResult(tuples)EstablishLink to DBJ

10、DBC根底:根本任务步骤根底:根本任务步骤JDBC根底:根本任务步骤根底:根本任务步骤1. Load the JDBC driver class: Class.forName(“driverName);2. Open a database connection: DriverManager.getConnection(“jdbc:xxx:datasource);3. Issue SQL statements: stmt = con.createStatement();stmt.executeQuery (“Select * from myTable);4. Process result set

11、:while (rs.next() name = rs.getString(“name);amount = rs.getInt(“amt); ConnectionStatementResult SetDriverDriver ManagerDatabaseJDBC支持四种类型的驱动程序:支持四种类型的驱动程序:JDBC-ODBC Bridge, plus ODBC driver (Type 1)SimplestJDBC methods - Translate JDBC methods to ODBC methods - ODBC to native methods - Native metho

12、ds APINative-API, partly Java driver (Type 2)JDBC methods - Map JDBC methods to native methods (calls to vendor library) - Native methods API (vendor library)JDBC-net, pure Java driver (Type 3)JDBC methods - Translate to Native API methods through TCP/IP network - Native API methodsNative-protocol,

13、pure Java driver (Type 4)Java methods - Native methods in JavaJDBC驱动程序驱动程序JDBC驱动程序驱动程序JDBC-ODBC Bridge, plus ODBC driver (Type 1)由由 Sun的的Java2 JDK提供提供(sun.jdbc.odbc.JdbcOdbcDriver)经过经过ODBC驱动程序来获得对数据库驱动程序来获得对数据库的的JDBC访问访问必需先安装必需先安装ODBC驱动程序和配置驱动程序和配置ODBC数据源。数据源。仅当特定的数据库系统没有相应的仅当特定的数据库系统没有相应的JDBC驱动程序时运

14、用。驱动程序时运用。Application SpaceJava ApplicationJDBC ODBC BridgeDatabaseSQLCommandResultSetODBC DriverProprietaryProtocolJDBC驱动程序驱动程序Native-API, partly Java driver (Type 2)Native-API driver 将将JDBC命令命令转换为特定数据库系统的本地转换为特定数据库系统的本地库方法。库方法。与与Type1相类似,必需先安装特相类似,必需先安装特定数据库的库方法二进制代定数据库的库方法二进制代码,非码,非Java。Applicati

15、on SpaceJava ApplicationType 2 JDBC DriverDatabaseSQLCommandResultSetNative DatabaseLibraryProprietaryProtocolJDBC驱动程序驱动程序JDBC-net, pure Java driver (Type 3)将将JDBC命令转换为与数据库系统无命令转换为与数据库系统无关的网络协议,并发送给一个中间关的网络协议,并发送给一个中间件效力器。件效力器。中间件效力器再将数据库系统无关的中间件效力器再将数据库系统无关的网络协议转换为特定数据库系统的网络协议转换为特定数据库系统的协议,并发送给数据库系

16、统。协议,并发送给数据库系统。从数据库系统获得的结果先发送给中从数据库系统获得的结果先发送给中间件效力器,并进而前往给运用程间件效力器,并进而前往给运用程序。序。Application SpaceJava ApplicationType 3 JDBC DriverDatabaseSQLCommandResultSetMiddleware SpaceProprietaryProtocolJDBC DriverNative-protocol, pure Java driver (Type 4)纯纯Java的驱动程序,直接与特的驱动程序,直接与特定的数据库系统通讯。定的数据库系统通讯。直接将直接将J

17、DBC命令转换为数据库命令转换为数据库系统的本地协议。系统的本地协议。优点:没有中间的转换或者是优点:没有中间的转换或者是中间件。中间件。通常用于提高数据库访问的性通常用于提高数据库访问的性能。能。Application SpaceJava ApplicationType 4 JDBC DriverDatabaseSQL CommandUsing ProprietaryProtocolResult SetUsing ProprietaryProtocolJDBC驱动程序驱动程序JDBC编程编程任何一个JDBC运用程序,都需求以下四个步骤: 加载JDBC驱动程序 建立与数据库的衔接 进展数据库操

18、作 封锁相关衔接Step1装载驱动程序 装载驱动程序装载驱动程序 运用运用Class类的类的forName()方法注册方法注册JDBC-ODBC桥驱桥驱动程序动程序 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); 注册注册Oracle数据库厂商提供的数据库厂商提供的JDBC驱动程序驱动程序 利用DriverManager类的静态方法getConnection()来获得与特定数据库的衔接实例Connection实例。 Connection conn = DriverManager.getConnection(url); Connection conn =

19、 DriverManager.getConnection(url, user, pass); 这三个参数都是String类型的,运用不同的驱动程序与不同的数据库建立衔接时,url的内容是不同的,但其格式是一致的,都包括三个部分:jdbc:driverType:dataSource 对于JDBC-ODBC Bridge,driverType为odbc, dataSource那么为ODBC数据源:“jdbc:odbc:myDSN。 对于其他类型的驱动程序,根据数据库系统的不同driverType和dataSource有不同的格式和内容。 Step2 建立与数据库的衔接建立与数据库的衔接 Step3

20、 进展数据库操作进展数据库操作每执行一条SQL语句,都需求利用Connetcion实例的createStatement()方法来创建一个Statement实例。Statement的常用方法包括:执行SQL INSERT, UPDATE 或 DELETE 等语句int executeUpdate(String sql)执行SQL SELECT语句ResultSet executeQuery(String sql)执行一个能够前往多个结果的SQL语句boolean execute(Stringsql) (与其他方法结合起来来获得结果)Statement 中还有其他的方法来执行SQL语句。 Step

21、4 :进展数据库操作:进展数据库操作经过ResultSet来获得查询结果:ResultSet实例最初定位在结果集的第一行记录ResultSet提供了一些在结果集中定位的方法,如next()等。ResultSet提供了一些方法来获得当前行中的不同字段的值,getXXX()。ResultSet中还提供了有关方法,来修正结果集,并提交到数据库中去。 Step4 :进展数据库操作:进展数据库操作参数:int colIndex 或String colNameStep4 :进展数据库操作:进展数据库操作经过ResultSetMetadata来获得查询结果的元数据信息:ResultSet提供了一个方法get

22、Metadata()来获得结果集的元数据信息,它前往的是一个ResultSetMetadata实例。经过ResultSetMetadata实例,就可以获得结果集中字段的详细信息,如字段总数,每个字段的称号、类型等。getColumnCount() / # of columns in the rowgetColumnName( i ) / returns column namegetColumnType ( i ) / returns column data typegetColumnLabel ( i ) /suggested label for a column when printgetT

23、ableName() /returns the name of the table确定了字段类型,获取字段数据时,就可以明确如何运用ResultSet中的getXXX()方法了。经过DatabaseMetadata来获得数据库的元数据信息:Connection提供了一个方法getMetadata()来获得数据库的元数据信息,它前往的是一个DatabaseMetadata实例。经过DatabaseMetadata实例,就可以获得数据库的各种信息,如数据库厂商信息、版本信息、数据表数目、每个数据表称号等。getDatabaseProductName() getDatabaseProductVers

24、ion()getDriverName()getTables()Step4 :进展数据库操作:进展数据库操作JDBC例如例如【例【例1】 运用运用Access数据库创建数据库创建student数据库及表。数据库及表。创建数据库创建数据库创建创建Access数据库文件,数据库文件名为数据库文件,数据库文件名为student.mdb。 创建表创建表 输入数据输入数据 配置配置ODBC数据源数据源 1)翻开控制面板翻开控制面板,选择选择ODBC项项 2)选择选择Add 3)选择选择Microsoft Access Driver.(假设没有此项假设没有此项,应先安装应先安装ODBC驱驱动程序动程序) 4)在在Data Source Name一项中填入数据源名一项中填入数据源名,以后对此数据源的援以后对此数据源的援用要经过数据源名来实现用要经过数据源名来实现.最后按最后按ok完成操作完成操作.【例【例2】JDBC插入、修正和删除数据库数据插入、修正和删除数据库数据提示:提示:与数据库建立衔接与数据库建立衔接 一切一切JDBC程序的第一步都是与数据库建立衔接程序的第一步都是与数据

温馨提示

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

评论

0/150

提交评论