Java-Web开发基础第4章课件_第1页
Java-Web开发基础第4章课件_第2页
Java-Web开发基础第4章课件_第3页
Java-Web开发基础第4章课件_第4页
Java-Web开发基础第4章课件_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、2022/7/181第4章 JDBC数据库访问技术2022/7/182点击添加文本点击添加文本点击添加文本点击添加文本目录010202JDBC数据库操作JDBC技术概述0203MySql数据库基础04JDBC 数据库操作实例2022/7/183点击添加文本点击添加文本点击添加文本点击添加文本掌握使用JDBC提供的API数据库操作了解JDBC的基本概念和相关的使用方法掌握以MySql数据库为例的对数据库的访问方法和操作过程2022/7/1844.1 JDBC技术概述 Java数据库连接(Java Database Connection,JDBC),是按照 ODBC 的模式制定的,是一个通用低层的

2、、支持执行基本SQL语句功能的Java API,可以为多种关系数据库提供统一访问,它是由一组用Java语言编写的类和接口组成,这使得程序员可以面对统一的数据库界面,无需考虑数据库的差异性,使开发数据库无关的Java 产品成为可能,同时也提供了多样化的数据库连接方式。4.1.1 JDBC简介JDBC就是一套数据库驱动的规范,是一个将Java 语言与 SQL 结合,在数据库与Java源程序之间,由多个接口和类组成并提供和大多数数据库连接的一个标准的Java API。JDBC是 Java应用程序与各种不同数据库之间进行对话的方法,并不需要关心数据组织格式和应用系统其他代码之间的联系。JDBC 扩展了

3、 Java 的功能。2022/7/1854.1.2 JDBC连接方式JDBC定义了以下4种不同的驱动连接方式: 1、JDBC-ODBC Bridge 2、Native-API Java Driver 3、Pure Java Driver for Database Middleware Server 4、Direct-to-Database Pure Java Driver2022/7/1862022/7/1871、JDBC-ODBC Bridge JDBC-ODBC Bridge属于非纯Java驱动程序。在JDBC出现的初期,JDBC-ODBC桥显然是非常有实用意义的,通过JDBC-ODBC桥

4、,开发人员可以使用JDBC来存取ODBC数据源。但是采用JDBC-ODBC桥的方式访问数据库需要多层调用,这样访问数据库的效率比较低。而且在客户端必须安装需要数据库的ODBC驱动程序,导致若使用该连接方式必须牺牲JDBC的平台独立性。另外,ODBC驱动程序还需要具有客户端的控制权限,并且这种方式不适合程序的重用与维护,不推荐使用。 但是在数据库厂商没有提供JDBC驱动而通过ODBC可以访问数据库的情况下,利用JDBC-ODBC桥驱动访问数据库是一种较好的访问方式。比如应用程序要想访问Microsoft Access数据库时,就只能利用JDBC-ODBC桥驱动来访问Access数据库。2022/

5、7/1882、Native-API Java Driver Native-API Java Driver属于非纯Java驱动程序。此类方式提供了一种JDBC接口,它建立在本地数据库驱动程序的顶层,而不需要使用ODBC,执行效率比第一种高。 JDBC驱动程序将对数据库的API从标准的JDBC调用转换为本地调用。目前几个主要的数据库厂商都提供了各自的JDBC数据库驱动程序,如Microsoft、Sybase、Oracle等。 与其他3种驱动程序相比较,这种方式能有效用于控制较严的企业内部局域网环境,并且这种方式访问数据库的效率是最高的。但是直接将JDBC API映射成数据库特定的客户端API,这种

6、驱动程序包含特定数据库的本地代码,还要求在客户端安装一些本地代码,所以若采用此类型,则程序的开发会受到客户端平台及所属操作系统的限制,从而牺牲了JDBC的平台独立性,并且将来新版本软件的升级安装也较为费事。所以这类驱动程序应用存在限制,如不太适合用于Applet等。2022/7/1893、Pure Java Driver for Database Middleware Server Pure Java Driver for Database Middleware类型属于纯Java技术驱动程序。这种驱动实际上是根据三层架构建立的。此类方式能将JDBC调用转换为特定数据库直接使用的网络协议,不需要

7、安装客户端软件,是使用一个纯Java数据库驱动程序实现对数据库的直接访问。由于能够直接与数据库实例交互,具有智能性的,可最大限度地发挥数据库特定功能,从而提供较高其运行效率。 由于这种驱动是基于server的,所以它不需要在客户端加载数据库厂商提供的代码库,而且它在执行效率和可升级性方面是比较好的。因为大部分功能实现都在server端,所以这种驱动可以设计的很小,可以非常快速的加载到内存中。这种驱动可以把多种数据库驱动都配置在中间层服务器,所以这种驱动最适合那种需要同时连接多个不同种类的数据库,并且对并发连接要求高的应用。2022/7/18104、Direct-to-Database Pure

8、 Java Driver Direct-to-Database Pure Java Driver属于纯Java驱动程序,此类方式直接把JDBC调用转换为符合相关数据库系统规范的请求。由于该类型驱动写的应用可以直接和数据库服务器通讯,而且这种类型的驱动完全是由Java来实现的,实现了平台独立性。这种驱动与第3 种类型相比,则适合那些连接单一数据库的工作组应用。 此类方式将完全通过Java驱动,其本质是使用Java sockets来连接数据库。基于internet方面的应用就只有考虑第3、4种驱动连接方式。所以它特别适合于通过网络使用后台数据库的Applet及Web应用,后面介绍的JDBC应用主要

9、使用该类型的驱动程序。目前,大部分数据库厂商提供了该类驱动程序的支持,此类驱动也一般被认定为是较好的一种驱动程序,是目前最流行的JDBC驱动类型。2022/7/18114.2 JDBC数据库操作 JDBC数据库操作实际上就是Java应用程序通过JDBC API界面访问JDBC管理器,JDBC管理器通过JDBC驱动程序API访问不同的JDBC驱动程序,从而实现对不同数据库的访问。本节主要介绍了JDBC API的功能与组成、DriverManager对象、Connection对象、SQL声明对象和ResultSet查询结果对象的功能及使用。 4.2.1 JDBC API的功能与组成 JDBC AP

10、I提供了3类主要核心服务:连接服务、SQL服务和结果处理服务。因此JDBC API的主要功能概括起来有如下3个方面:建立与数据库的连接。向数据库发送SQL查询请求。处理数据库,并返回数据库处理结果。2022/7/18124.2.2 DriverManager驱动程序管理对象 DriverManager类是JDBC的管理层,工作在用户和驱动程序之间,它跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接。具体实现步骤如下:1、JDBC驱动程序接口2、加载和注册JDBC驱动3、获得Connection连接2022/7/18132022/7/18141.JDBC驱动程序接口 Java.sql.D

11、river是所有驱动程序需要实现的驱动器类接口。以下是几种常用数据库厂商的JDBC驱动程序接口名: SQLServer数据库的JDBC驱动程序- com.microsoft.jdbc.sqlserver.SQLServerDriverOracle数据库的JDBC驱动程序-oracle.jdbc.driver.OracleDriverMySQL数据库的JDBC驱动程序-com.mysql.jdbc.Driver2022/7/18152.加载和注册JDBC驱动DriverManager类在取得连接之前,需要加载和注册驱动程序。下面是常用驱动程序:加载ODBC的JDBC驱动类:Class.forNa

12、me(sun.jdbc.odbc.JdbcOdbcDriver); 加载SQL Server的JDBC驱动类:Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);加载Oracle的JDBC驱动类:Class.forName(oracle.jdbc.driver.OracleDriver); 加载MySQL的JDBC驱动类:Class.forName(com.mysql.jdbc.Driver); 2022/7/18163.获得Connection连接 加载完数据库驱动程序之后,将建立与数据库的连接。一般需要直接通过使用Driv

13、erManager.getConnection()的方法来获得Connection连接,具体代码如下:String dburl=jdbc:odbc: dsn名称 ; DriverManager.getConnection(dburl,”username”,”password”);4.2.3 Connection数据库连接对象Connection对象又称为数据库连接对象,是用来与指定数据源创建连接的对象。Connection 对象提供了特定程序的类表示,根据数据源的不同,Connection类分为SqlConnection、OleDbConnection、OdbcConnection和Oracl

14、eConnection四种。2022/7/18174.2.4 SQL声明对象1、Statement Statement对象用于执行不带参数的简单静态SQL语句,并且返回它所生成的结果对象。Statement对象的执行步骤如下:创建Statement 对象 使用 Statement 对象执行查询语句关闭 Statemente 对象2022/7/18182022/7/18192、PreparedStatement PreparedStatement用于执行带或不带IN参数的预编译SQL语句。PreparedStatement 对象中的 SQL 语句可具有一个或多个 IN 参数。IN参数的值在 SQ

15、L 语句创建时未被指定。相反的,该语句为每个 IN 参数保留一个问号(“?”)作为占位符。每个问号的值必须在该语句执行之前,通过适当的setXXX 方法来提供。2022/7/18203、CallableStatement 用于执行对数据库存储过程的调用,为所有的DBMS 提供了一种以标准形式调用已储存过程的方法。已储存过程储存在数据库中。对已储存过程的调用是 CallableStatement对象所含的内容。这种调用有两种形式:带结果参数,不带结果参数。2022/7/18214.2.5 ResultSet查询结果对象 ResultSet对象表示数据库查询所获得的结果集,即通过执行查询数据库的语

16、句而生成的数据记录集。ResultSet 对象具有指向其当前数据行的指针。最初,指针被置于第一行之前。next 方法将指针移动到下一行;因为该方法在 ResultSet 对象中没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。 默认的 ResultSet 对象不可更新,仅有一个向前移动的指针。因此,只能迭代它一次,并且只能按从第一行到最后一行的顺序进行。2022/7/18224.3 MySQL数据库基础 MySQL数据库是众多的关系型数据库产品中的一个,相比较其它系统而言,MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库。除了具有许多其它数据库所不具

17、备的功能和选择之外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人或商业用途,而不必支付任何费用。2022/7/18234.3.1 MySQL的安装与配置1.安装前的准备: 下载MySQL安装程序包,可到MySQL官方网站下载,本书安装的MySQL版本为5.5.28,用于32位机。2.MySQL数据库的安装: 只要按照安装提示安装即可安装成功。3.MySQL Server数据库的配置4.设置环境变量5.修改端口和字符集6.启动MySQL Server 5.5,用于测试MySQL 安装是否成功。2022/7/18244.3.2 SQLyog集成管理工具的安装与使用1

18、.SQLyog集成管理工具的下载与安装SQLyog软件可以在SQLyog的官方网站(/en/)下载。双击SQLyog安装文件,按照相应的提示进行安装即可。2.SQLyog集成管理工具的启动通过SQLyog来连接MySQL数据库,在打开连接提示对话框中,单击New(新建)按钮,将创建一个新的连接,给新连接定义一个名字“root”。单击“确定”按钮,在MySQL的设置窗体输入相关的数据。注意Port是安装MySQL时默认的访问端口,如果安装时未修改,则默认值为3306。当单击“连接”按钮后,就完成了SQLyog与MySQL的连接。2022/7/18254.3.3 MySQL的使用1.创建MySQL

19、数据库有以下三种方法来实现:(1)选择菜单“数据库”“创建数据库”,弹出创建数据库对话框。(2)右击左侧导航中“连接名localhost”“创建数据库”,弹出创建数据库对话框,如图4-20所示。(3)同时按下“Ctrl+D”,弹出创建数据库对话框。2022/7/18262.创建表和设置字段: 在左侧的导航中选择所要操作的数据库(如student数据库),单击鼠标右键,从弹出的快捷菜单中选择“创/建”“表”,创建新表。在弹出的界面中,可以通过 增加列、 删除列, 来实现列上移或下移。通过输入列名(FieldName),设置数据类型(Datatype),设置字段长度(Len),对于一些字段还可以设置相关的约束-常用的选项有主键约束(PK)、非空

温馨提示

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

评论

0/150

提交评论