ch7 JSP程序访问数据库.ppt
文本预览下载声明
第六章 JSP程序访问数据库 6.1 JDBC简介 6.2 JDBC的常用接口介绍 6.3 在JSP中与数据库建立连接 6.4 详解 SQL Server2000数据库连接 6.1 JDBC简介 6.1.1 从ODBC到JDBC的发展 6.1.2 JDBC技术概述 6.1.3 JDBC的体系结构 6.1.4 JDBC与ODBC的对比 6.1.5 数据库应用的模型 6.1.6 JDBC驱动程序的类型 6.1.7 JDBC的结构 6.1.1 从ODBC到JDBC的发展 1.ODBC简介 Open DataBase Connectivity 开放式数据库连接, 微软的ODBC是用C编写的,而且只适用于Windows平台,无法实现跨平台地操作数据库 需要通过不同的ODBC驱动进行连接 1. ODBC工作原理 首先,ODBC里必须安装相关数据库的驱动程序(“管理工具”--“数据源(ODBC)”) 然后,通过建立一个数据源来指向该数据库 最后,将应用程序中的SQL语句,通过ODBC数据库驱动器向DBMS发出请求,对分析或发自数据源的设计进行必要的翻译,并将结果返回给应用系统。 2.JDBC的出现 原因:如果Java编程人员通过调用ODBC,那么将造成Java程序的跨平台性受到很大的限制。 1997.1 Java Soft公司宣布了JDBC API,这是一个标准SQL数据库访问接口。 6.1.2 JDBC技术概述 JDBC是Java的开发者――Sun的Javasoft公司制定的 JAVA数据库连接(Java DataBase Connectivity)技术的简称,是为各种常用数据库提供无缝连接的技术。它由一些Java语言编写的类和界面 JDBC API为Java开发者使用数据库提供了统一的编程接口,它由一组Java类和接口组成。JDBC API使得开发人员可以使用纯Java的方式来连接数据库,并进行操作。 JDBC API的作用就是屏蔽不同的数据库驱动程序之间的差别,使得程序设计人员有一个标准的、纯Java的数据库设计接口 6.1.2 JDBC技术概述 JDBC需要装载数据库驱动程序,但是这种驱动程序的装载是通过JDBC API类库中的类自动完成 JDBC主要功能 (1) 与一个数据库建立连接 (2) 向数据库发送SQL语句 (3) 处理数据库返回的结果 JDBC是一种低级的API 6.1.3 JDBC体系结构 6.1.4 JDBC与ODBC的对比 通过JDBC与ODBC的对比,从而体会JDBC的特点 (1)ODBC是用C语言编写的,不是面向对象的;而JDBC是用Java编写的,是面向对象的。 (2)ODBC难以学习,因为它把简单的功能与高级功能组合在一起,即便是简单的查询也会带有复杂的任选项;而JDBC的设计使得简单的事情用简单的做法来完成。 (3)ODBC是局限于某一系统平台的,而JDBC提供Java与平台无关的解决方案。 (4)但也可以通过Java来操作ODBC,这可以采用JDBC-ODBC桥接方式来实现(因为Java不能直接使用ODBC,即在Java中使用本地C的代码将带来安全缺陷)。 6.1.5 数据库应用的模型 两层结构(C/S):在此模型下,客户端的程序直接与数据库服务器相连接并发送SQL语句(但这时就需要在客户端安装被访问的数据库的JDBC驱动程序),DBMS服务器向客户返回相应的结果,客户程序负责对数据的格式化。 Client端??ODBC/JDBC?Server端(DBMS) 或数据库专用协议???? 6.1.5 数据库应用的模型 三(或多)层结构(B/S):在此模型下,主要在客户端的程序与数据库服务器之间增加了一个中间服务器(可以采用C++或Java语言来编程实现),隔离客户端的程序与数据库服务器。客户端的程序(可以简单为通用的浏览器)与中间服务器进行通信,然后由中间服务器处理客户端程序的请求并管理与数据库服务器的连接。 客户端程序? HTTP RMI CORBA? 中间服务器???? JDBC??? 数据库服务器 两层模型和三层模型 JDBC API既支持数据库访问的两层模型,也支持三层模型。 (1) 两层模型 6.1.6 JDBC驱动程序 流行的数据库如Oracle、SQL Server、mysql、Sybase和Informix都为客户访问提供了专用的API。有些厂商也专门提供数据库驱动程序,并且这些产品除了执行驱动的功能外,往往还提供一些额外的服务。 有四种类型的数据库驱动程序,它们分别是: JDBC-ODBC桥; 本地API ; JDBC网络纯Java驱动程序 纯Java驱动程序。 下面分别介绍这些驱动程序。 第1类 JDBC-ODB
显示全部