您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > Java程序设计修改-ch08
本资料由-大学生创业|创业|创业网提供资料在线代理|网页代理|代理网页|减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|数据库连接数据库是收集、存储和组织数据的常用方法。在当今的管理信息系统中,数据库系统是整个系统的核心。因此,如何让应用程序能够简易、快速和正确地存取数据库就成为一个很重要的课题。Java语言通过JDBC(JavaDataDataBaseConnectivityJava数据库连接)API提供了一个标准SQL(StructuredQueryLanguage结构化查询语言)数据库访问接口。由于目前几乎所有的关系数据库产品都支持SQL语言,开发人员能够用相同的方法将SQL语句发送到不同的数据库系统,从而使用Java程序能够通过一致的方式,存取各式各样的数据库。本章要点JDBC的基本概念JDBC连接数据库的基本方法JDBC操作数据库的基本方法本章难点JDBC操作数据库的具体实现学习目标掌握JDBC的基本概念掌握JDBC连接与操作数据库的基本方法8.1JDBC概述JDBC可实现应用程序和数据库的连接,它主要能完成下列三个任务:1同一个数据库建立连接。2向数据库发送SQL语句。3处理数据库返回的结果。8.1.1JDBC框架结构JDBC是用来提供Java程序连结与存取数据库的套件,包含了一组类和接口,使得程序员可以通过一致的方式存取各个不同的关连式数据库系统,而不必再为每一种关连式数据库系统(如Mysql、Access、Oracle等)编写不同的程序代码。应用程序通过JDBCAPI与数据库联系,而实际的动作则是由JDBCDriverManager通过JDBC驱动程序与数据库管理系统沟通。真正提供存取数据库功能的,其实是JDBC驱动程序,也就是说,如果要想存取某一种数据库系统,就必须要拥有对应于该数据库系统的驱动程序。以连接Access数据库为例,需要有JDBC-ODBC链接驱动程序,这个驱动程序在安装本资料由-大学生创业|创业|创业网提供资料在线代理|网页代理|代理网页|减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|时就会自动安装在系统上,若要连接其它类型的数据库,就必须要先取得适当的驱动程序。如图8-1所示为JDBC的框架结构图。Java应用程序Java驱动程序管理器JDBC/ODBC桥ODBC驱动程序数据库供应商提供的JDBC驱动程序数据库数据库JDBCAPIJDBCDriverAPI图8-1JDBC框架图Java提供3种JDBC产品组件,它们是Java开发工具包的组成部分,即JDBC驱动程序管理器、JDBC驱动程序测试工具包和JDBC-ODBC桥。从功能上看,JDBC包含两部分与数据库独立的API,即面向程序开发人员的JDBCAPI和面向底层的JDBCDriverAPI。JDBC整个模型的基础是:遵循JDBCAPI协议的程序和JDBC驱动程序管理器来通信,然后管理器用嵌入的驱动程序来访问数据库。我们编写访问数据库的Java程序,既可以使用JDBC/ODBC桥来利用ODBC的接口访问数据席,也可以通过直接的JDBC驱动程序来实现数据库的访问。JDBC驱动程序包括如下四类:(1)JDBC-ODBC桥将JDBC转化为ODBC驱动,利用JDBC/ODBC桥和ODBC驱动来访问数据库程序。该程序最适合于商业网络或三层体系结构中当应用服务器层的代码是由Java写成时的情况,并要求ODBC必须在每个客户机上安装。(2)部分Java技术的本地API驱动程序驱动程序直接将用户的调用转化为对数据库客户端相应API的调用。这类驱动程序需要数据库在本地安装一个客户端。(3)全部基于Java技术的本地API驱动程序驱动程序是独立于数掂库服务器的,它只和一个中间层通信,由这个中间层来实现数据库的访问。这类网络服务器中间件能够连接其所有的Java客户端到许多不同的数据库上,是最灵活的JDBC驱动程序。本资料由-大学生创业|创业|创业网提供资料在线代理|网页代理|代理网页|减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|(4)全部基于Java技术的本地协议驱动程序驱动程序直接将用户的请求转换为对数据库的协议请求,直接和数据库服务器通信。因为大多数这样的协议都是数据库专有的,一些数据库厂家在开发这类驱动程序。第3类和第4类驱动程序是从JDBC访问数据库的首选方案,因为它们提供了Java的所有优点,包括自动安装。Java程序通过JDBCAPI访问JDBCDriverManager,JDBCDriverManager再通过JDBCDriverAPI访问不同的JDBC驱动程序,从而实现不同数据库的访问。JDBC提供了一个通用的JDBCDriverManager,用来管理各数据库软件商提供的JDBC驱动程序,从而访问其数据库。此外,对没有提供相应JDBC驱动程序的数据库系统,开发了特殊的驱动程序,即JDBC-ODBC桥。现在越来越多的数据库厂商都提供其数据库的JDBC驱动程序。8.1.2JDBC应用模型在实际应用中,可以采用两种开发模型,一种是两层开发模型,另一种是三层(或更多层)开发模型。数据库服务器客户端JDBC或JDBC-ODBC图8-2两层结构模型在两层模型中,用户的SQL语句被传送给数据库,而这些语句执行的结果将被传回给用户。数据库可以在同一机器上,也可以在另一机器上通过网络进行连接。这被称为“Client/Server”结构,用户的计算机作为Client,运行数据库的计算机作为Server。这个网络可以是Intranet,比如连接全体雇员的企业内部网,当然也可以是Internet。但是两层结构存在很多问题,比如由于应用程序与数据库直接相连,更换数据库时要在应用程序中修改很多代码。数据库服务器客户端JDBC或JDBC-ODBCHTTPRMICORBAJDBCJDBC/ODBC图8-3三层结构模型在三层模型中,命令将被发送到服务的“中间层”,而“中间层”将SQL语句发送到数据库。数据库处理语句并将结果返回“中间层”,然后“中间层”将它们返回用户。客户端与中间层之间的连接可以有很多途径。如果客户机为网络浏览器时,可通过HTTP协议将操作命令送到中间层。如果客户机为一般Java应用程序,中间层在另外一台网络计算机上,可以通过RMI(RemoteMethodInvocation)远程方法调用联系。也可以在同一台计算机上建立客户端和中间服务层,只需将程序所需要的各数据库功能模块封装在独立的Java类里就可以了。三层模型很有优势,因为“中间层”可以进行对访问的控制并协同数据库的更新,另一本资料由-大学生创业|创业|创业网提供资料在线代理|网页代理|代理网页|减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|个优势就是如果有一个“中间层”,用户就可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成底层的调用。而且,在许多种情况下,三层模型可以提供更好的性能。8.2JDBC连接数据库8.2.1JDBC连接数据库的方法1.JDBCURLJDBCURL提供了一种标识数据库的方法,可以使相应的驱动程序能识别数据库并与之建立连接。由编程人员来决定用什么JDBCURL来标识特定的驱动程序,用户不必关心如何形成JDBCURL。JDBCURL的标准语法如下所示,由三部分组成,各部份之间用冒号分隔。jdbc:子协议:子名称(1)jdbc:JDBCURL中的协议是jdbc(2)子协议:驱动程序名或数据库连接机制的名称。例如:jdbc:odbc:mystu本例中,子协议是“odbc”,子名称“mystu”是本地ODBC数据源。若要用网络命名服务,则命名服务可以作为子协议。例如:jdbc:dbpro:student子协议是“dbpro”,名称为“student”(3)子名称:是一种标识数据库的方法。子名称可以依不同的子协议而变化。它可以有子名称的子名称。如果数据库位于网络的其它计算机上,则在JDBCURL中可将网络地址作为子名称的一部分包括进去。如要访问位于,端口号为8080,名称为student的数据库,URL如下:Jdbc:odbc//.JDBC-ODBC桥开放式数据库互连ODBC(OpenDataBaseConnectivity)是微软公司开发的一套开发数据库系统应用程序接口的规范,它支持应用程序以标准的ODBC函数和SQL语句操作各种不同的数据库。ODBC驱动程序相当于一个转换开关,它负责将应用程序发送来的标准SQL语句传递给各种数据库驱动程序处理,再将处理结构送回应用程序。目前几乎所有的数据库系统都提供ODBC驱动程序。Sun公司对没有提供相应JDBC驱动程序的数据库系统,开发了特殊的驱动程序:JDBC-ODBC桥,该驱动程序支持JDBC通过现有的ODBC驱动程序访问相应的数据库系统。JDBC-ODBC桥子协议名为odbc,允许在子名称(数据源名称)后面指定任意多个属性值。Odbc子协议的完整语法为:jdbc:odbc:数据资源名称[;属性名=属性值]**表示允许有多个属性。例如:jdbc:odbc:mystu;UID=zy;PWD=happy该连接的数据源名为mystu,用户名为zy,密码为happy。本资料由-大学生创业|创业|创业网提供资料在线代理|网页代理|代理网页|减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药|,因此连接的建立也是通过对象实现的。Connection对象完成同数据库连接的功能。一个连接会话由两部分组成:一部分是SQL语句被远端执行,另一部分是结果集的返回。一个应用程序可以同某一数据库同时存在一个或多个连接,也可以同几个不同的数据库同时存在连接。Java.sql包中包括了所有JDBC的类和接口,最常用的有如下介绍的五个接口和一个类,还有一个对象。1.Driver接口:将API的调用映射到数据库的操作。常用方法:booleanacceptsURL(Stringurl)检索驱动程序是否认为它可以打开到给定URL的连接。Connectionconnect(Stringurl,Propertiesinfo)试图创建一个到给定URL的数据库连接。intgetMajorVersion()检索此驱动程序的主版本号。intgetMinorVersion()获得此驱动程序的次版本号。DriverPropertyInfo[]getPropertyInfo(Stringurl,Propertiesinfo)获得此驱动程序的可能属性信息。booleanjdbcCompliant()报告此驱动程序是否是一个真正的JDBCCompliantTM驱动程序。2.DriverManager类:用来加载驱动程序,管理应用程序和驱动程序的连接。常用方法:staticConnectiongetConnection(Stringurl)试图建立到给定数据库URL的连接。staticvoidsetLoginTimeout(intsecond
本文标题:Java程序设计修改-ch08
链接地址:https://www.777doc.com/doc-4964762 .html