Java实用编程技术 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 王诚 第8章 Java数据库编程

上传人:E**** 文档编号:89447791 上传时间:2019-05-25 格式:PPTX 页数:29 大小:113.99KB
返回 下载 相关 举报
Java实用编程技术 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  王诚 第8章 Java数据库编程_第1页
第1页 / 共29页
Java实用编程技术 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  王诚 第8章 Java数据库编程_第2页
第2页 / 共29页
Java实用编程技术 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  王诚 第8章 Java数据库编程_第3页
第3页 / 共29页
Java实用编程技术 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  王诚 第8章 Java数据库编程_第4页
第4页 / 共29页
Java实用编程技术 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  王诚 第8章 Java数据库编程_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《Java实用编程技术 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 王诚 第8章 Java数据库编程》由会员分享,可在线阅读,更多相关《Java实用编程技术 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 王诚 第8章 Java数据库编程(29页珍藏版)》请在金锄头文库上搜索。

1、Java语言概述及编程基础,Java实用编程技术,JDBC本身是个商标名而不是缩写,但在通常情况下,它被认为是 Java Database Connectivity(Java 数据库连接)的缩写,即Java 数据库连接API JDBC允许用户从Java应用程序中访问任何表格数据源。它由一组用 Java 编程语言编写的类和接口组成 Java API 向 Java 编程语言提供了统一的数据访问方法 JDBC 是个“低级”接口,用来支持独立于任何特定SQL实现的基本SQL功能,JDBC概念,Java实用编程技术,在Java系统实现中,可以使用ODBC进行数据源的连接,但不建议这样使用,因为ODBC使

2、用 C 语言接口 从 Java 调用本地 C 代码在安全性、实现、坚固性和程序的自动移植性方面都有许多缺点,而JDBC API 对于基本的 SQL 抽象和概念是一种自然的 Java 接口,JDBC 保留了 ODBC 的基本设计特征,JDBC 以 Java 风格与优点为基础并进行优化,因此更加易于使用 JDBC 主要特点是与任何关系型数据库协同工作的方式完全相同,JDBC概念,Java实用编程技术,基于数据库应用系统的编程模型主要有两种:两层模型和三层模型,在有些大型的企业级应用中,还可以有四层模型 两层模型:多客户端和多数据库服务器架构,即应用层和数据库层。这样的模型被称为 C/S结构,即客户

3、端/服务器端结构,又称为胖客户机结构 三层模型:三层模型是在两层模型的基础上再加上一个中间应用服务器,即客户层、中间层和数据库层。客户端往往是由浏览器来充当,这样的模型被称为B/S结构。又称瘦客户机结构,系统编程模型,Java实用编程技术,JDBC 同时支持这两种模型 在两层模型中,一个Java applet 或 Java 应用程序直接与数据库连接。用户的 SQL 语句被传送到数据库,进行数据库处理后,结果返回给用户。在这种模型中客户端需要能直接访问数据库的JDBC驱动器 主要的缺点:受数据库厂商的限制,用户更换数据库时需要改写客户程序;受数据库版本的限制,数据库厂商一旦升级数据库,使用该数据

4、库的客户程序需要重新编译和发布;对数据库的操作与处理都是在客户程序中实现,使客户程序在编程与设计时较为复杂,系统编程模型,Java实用编程技术,在三层模型中,命令将被发送到服务的中间层,而中间层将 SQL 语句发送到数据库。数据库处理 SQL 语句后将结果返回到中间层,再由中间层将它们返回给客户端 在三层模型结构中,中间件是最重要的组件。它的功能是:在客户端和服务器或者服务器与服务器之间传送数据,实现客户机群和服务器群之间的通信,系统编程模型,Java实用编程技术,JDBC 有两种主要接口:面向开发人员的JDBC的接口和面向数 面向开发人员的JDBC的接口有Connection、Stateme

5、nt、ResultSet据库提供商和第三方的接口 Connection提供JDBC API和URL指定的数据库系统之间的连接 Statement对象作为在给定Connection上执行SQL语句的容器 ResultSet控制通过游标移动对变化结构中给定Statement的结果进行访问,JDBC接口,Java实用编程技术,面向数据库提供商和第三方的接口,是由数据库供应商对上述三个接口的实现。这个实现称为数据库驱动程序。 如:OracleConnection 是为Oracle 数据库系统提供的 Connection 接口的实现 SQLServerConnection 是SQL Server 200

6、0 数据库系统提供的 Connection 接口的实现 oracle.jdbc.driver.OracleDriver 是Oracle 所提供的数据库驱动程序类 com.microsoft.jdbc.sqlserver.SQLServerDriver 是微软所提供的数据库驱动程序,JDBC接口,Java实用编程技术,Java 软件提供了三种JDBC产品组件: JDBC 驱动程序管理器:是 JDBC 体系结构的支柱。它实际上很小,也很简单;其主要作用是把Java应用程序连接到正确的JDBC驱动程序上,然后退出 JDBC 驱动程序测试工具包:使JDBC驱动程序运行程序提供一定的可信度。只有通过JD

7、BC驱动程序测试包的驱动程序才被认为是符合JDBC标准的 JDBCODBC 桥:将ODBC驱动程序作为JDBC的驱动程序。即利用ODBC驱动程序提供JDBC访问,JDBC驱动,Java实用编程技术,JDBC 驱动程序的四个种类 JDBCODBC 桥和 ODBC 驱动程序:通过 ODBC 驱动,提供 JDBC 存取功能。驱动程序的java.sql.Drive 接口在 sun.jdbc.odbc.JdbcOdbcDriver中实现 主要优点是:它可能是访问低端桌面数据库和应用程序的唯一方式;主要缺点:ODBC驱动程序也必须加载到目标机上;JDBC和ODBC的转换影响性,JDBC驱动,Java实用编

8、程技术,本地 API 部分用 Java 来编写的驱动程序:把 JDBC调用转换成对客户端数据库管理系统 API 的调用 与 JDBCODBC 桥驱动程序相似,这一类型的驱动程序需要在每个客户端机器上安装和操作系统相关的二进制代码,使Java 数据库客户方与数据库服务器方通信 由于这类驱动程序不必经过 ODBC 中间层,因此其性能明显优于由 JDBCODBC 桥的方式构成的驱动程序,JDBC驱动,Java实用编程技术,JDBC 网络纯 Java 驱动程序:把 JDBC 调用解释为与数据库管理系统独立的网络协议,这种网络协议再被服务器解释成数据库管理系统的协议 这个中间件网络服务器可以把纯 Jav

9、a 客户端与多个不同的数据库连接起来,所用的协议与生产厂商相关 这种方式是纯Java driver 对Internet 和Intranet 用户而言这是一个理想的解决方案。Java driver 被自动的,以透明的方式随Applets自Web服务器而下载并安装在用户的计算机上,JDBC驱动,Java实用编程技术,本地协议纯 Java 驱动程序:直接把 JDBC调用转换成数据库管理系统使用的网络协议,它允许从客户端机器上直接调用数据库管理系统服务器,这是内部网绝佳的解决方案 这种方式也是纯Java drive 由于这些网络协议中很多是厂商专有的,所以客户端配置的灵活性会受到一定的限制、 对Int

10、ranet 应用是高效的,可是数据库厂商的协议可能不被防火墙支持,缺乏防火墙支持在Internet应用中会存在潜在的安全隐患,JDBC驱动,Java实用编程技术,JDBC驱动,驱动程序的比较,Java实用编程技术,JDBC的接口包含在java.sql和javax.sql包中,其中java.sql属于java SE平台,javax.sql属于java EE平台 5个常用的接口和类 加载驱动程序接口 :Driver对象实现acceptsURL(String url)方法,确认自己具有连接到DriverManager传递的URL上的能力。这是所有JDBC驱动程序必须实现的接口 管理驱动程序类:Dri

11、verManager类是Java.sql包中用于数据库驱动程序管理的类,作用于用户和驱动程序之间。它跟踪可用的驱动程序,并在数据库和相应的驱动程序之间建立连接,也处理诸如驱动程序登录时间限制及登录和跟踪消息的显示等事务,java.sql包,Java实用编程技术,数据库连接接口:Connection是用来表示数据库连接的对象,提供JDBC API和URL指定的数据库系统之间的连接,也就是在它加载的Driver和数据库之间建立连接。对数据库的一切操作都是在这个连接基础上进行的。使用时必须创建一个Connection Class的实例,其中包括数据库信息 SQL声明接口:Java所有SQL语句都是通

12、过陈述(Statement)对象实现的。Statement用于在已经建立的连接的基础上向数据库发送SQL语句的对象。Statement对象作为在给定Connection上执行SQL语句的容器,并且访问结果 查询结果接口:ResultSet对象通过游标移动对给定Statement的结果进行访问 ResultSet往往包含的是查询结果集,此接口抽象运行了select语句的结果,提供了逐行访问结果的方法,通过它访问结果的不同字段,java.sql包,Java实用编程技术,SQL全称结构化查询语言(Structured Query Language),它是一种标准化的数据库查询语言。可以用SQL语言实

13、现数据库的定义、增加、修改、删除 以及用户权限的设置等,SQL简介,Java实用编程技术,SQL语言的主要语句,SQL简介,Java实用编程技术,SELECT语句,SQL简介,Java实用编程技术,INSERT语句,SQL简介,Java实用编程技术,UPDATE语句,SQL简介,Java实用编程技术,DELETE语句,SQL简介,Java实用编程技术,发送 SQL 语句连接一旦建立,就可用来向它所涉及的数据库传送 SQL 语句。JDBC对可被发送的 SQL 语句类型不加任何限制 JDBC 提供了三个类,用于向数据库发送 SQL语句Connection 接口中的三个方法可用于创建这些类的实例 S

14、tatement 由方法 createStatement 所创建。Statement 对象用于发送简单的 SQL 语句 PreparedStatement 由方法 prepareStatement 所创建。PreparedStatement 对象用于发送带有一个或多个输入参数( IN 参数)的 SQL 语句 CallableStatement 由方法 prepareCall 所创建。CallableStatement 对象用于执行 SQL储存程序(一组可通过名称来调用的SQL 语句),SQL简介,Java实用编程技术,在Java程序中要操作数据库,一般应该通过如下几步: 引用必要的包: imp

15、ort java.sql.*; 加载连接数据库的驱动程序类:为实现与特定的数据库相连接,JDBC必须加载相应的驱动程序类。这通常可以采用Class.forName()方法显式地加载一个驱动程序类,由驱动程序负责向DriverManager登记注册并在与数据库相连接时,DriverManager将使用此驱动程序,编程模型,Java实用编程技术,创建与数据源的连接: String url=“jdbc:odbc:数据源名“; Connection con=DriverManager. getConnection(url,“Login“,“Password“); 建立向数据库发送 SQL语句对象:在J

16、DBC中查询数据库中的数据的执行方法可以分为三种类型,分别对应Statement,PreparedStatement(预编译SQL语句)和CallableStatement(主要用于执行存储过程)三个接口,编程模型,Java实用编程技术,如果是查询,则取得ResultSet 结果集中的数据 关闭查询语句及与数据库的连接(注意关闭的顺序先结果集对象、语句对象、连接对象) 连接 SQL Server2000示例 import java.sql.*; public class Test public static void main(String args) Connection con=null; try Class.forName(“com.microsoft.jdbc.sqlserver. SQLServerDriver“); String url=“jdbc:microsoft:sqlserver: /test:1433;databasename=pubs“;,编程模型,Java实用编程技术,con=DriverManager.getCo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号