版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JavaWeb程序设计
——数据库访问(1)2主要内容JDBC概述JDBC连接数据库的方法JDBC操作数据库3
与数据库交互是Web应用程序的一个重要的组成部分。JSP程序使用JDBC(JavaDataBaseConnectivity)技术来实现与数据库的连接。
JDBC提供了JSP操作数据库的各种接口,我们将介绍如何实现数据库的连接和访问。4JDBC概述JDBC是一种可用于执行SQL语句的JavaAPI,它由一些Java语言编写的类组成。JDBC为数据库应用开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
JDBC对于Java开发人员而言是API,对实现与数据库连接的服务提供商而言是接口模型。5JDBC概述
JDBC主要的作用有:与数据库建立连接、发送SQL语句和处理语句的执行结果;
JDBC是Java操作底层数据库的标准方式,为用户提供API接口;
通过JDBCAPI可以较方便地向不同类型的数据库发送SQL语句,如:SQLServer,Oracle,只要该数据库支持SQL语法就可以了。6JDBC的使用模型
(1)两层模型在两层模型中,一个JavaApplet或者一个Java应用程序直接同数据库连接,它们之间需要JDBC驱动器,如下图所示:客户端数据库服务器(DBMS)JDBC数据库访问两层模型7
(2)三层模型在三层模型中,中间层可以控制访问并协同更新数据库;同时,用户可以使用高层的API,这个API可以由“中间层”转换为底层的调用。客户端数据库服务器(DBMS)中间服务器JDBCHttpRMI8Web应用程序与数据库进行连接和信息的交换是非常广泛的。(1)在JDK1.1版本之前,Java语言提供的对数据库访问支持的能力是很弱的,开发人员使用ODBC(OpenDataBaseConnectivity)接口进行数据库的访问,但限制了Java语言的跨平台能力;(2)JDBC的出现使Java程序对数据库的访问能力大大提高,使开发人员很方便地连接几乎任何一种数据库。JDBC的体系结构9JDBCAPIJDBCDriverManager数据库驱动应用程序应用程序数据库数据库…………JDBC体系结构10驱动类型:
在Java程序中,要通过JDBC来存取某一特定的数据库,必须有相应的JDBC驱动程序,该驱动是由数据库的生产厂家提供。
首先,Java应用程序使用JDBCAPI与JDBC驱动程序Manager交互,JDBCDriverManager载入指定的JDBC驱动程序;然后通过驱动程序访问数据库。
11驱动类型:
JDBC驱动程序是用于特定数据库的一套实施了JDBC接口的类集,共有4种类型的JDBC驱动程序:
(1)JDBC-ODBC桥驱动程序;
(2)本地API驱动程序;
(3)网络协议驱动程序;
(4)本地协议驱动程序;12(1)JDBC-ODBC桥驱动程序:
JDBC-ODBC桥驱动程序能使客户端通过JDBC调用连接到一个使用ODBC驱动程序的数据库。使用这类驱动程序需要用户安装数据库对应的ODBC驱动程序,且该驱动程序不要求和Java兼容。13JDBC应用程序数据库ODBC驱动程序JDBC-ODBCJDBC-ODBCJava代码本地代码JDBC-ODBC桥驱动程序14(2)本地API驱动程序:
本地APIJava驱动程序将JDBC调用转换为特定的数据库调用,它利用客户端上的本地代码库与数据库进行直接通信,如下图:15JDBC应用程序数据库本地代码库本地API驱动程序Java代码本地代码本地API驱动程序16(3)网络协议驱动程序:
网络协议驱动程序能将JDBC的调用转换为独立于数据库的网络协议,这种类型的驱动程序特别适合于具有中间件的分布式应用。其过程如下图所示:17JDBC应用程序JDBC网络协议驱动程序Java代码数据库JDBC驱动程序Java中间件本地代码JDBC网络驱动程序Internet网络Internet网络18(4)本地协议驱动程序:
本地协议驱动程序能将JDBC调用转换为数据库直接使用的网络协议,使用JavaSocket来连接数据库,适合于通过网络使用后台数据库的Applet程序。其过程如下图所示:19JDBC应用程序本地协议驱动程序数据库数据库引擎Java代码本地代码本地协议驱动程序Internet网络20主要内容JDBC概述JDBC操作数据库21主要内容JDBC概述JDBC操作数据库22JDBC的接口分为两个层次:(1)一是面向程序开发人员的JDBCAPI;(2)另一个是底层的JDBCDriverAPI。JDBCApplicationJDBCAPIJDBCManagerJDBCDriverAPIDriverADriverB……数据库1数据库223
JDBCAPI是应用程序开发人员访问数据库信息的接口,主要包括6种接口:
java.sql.DriverManager:处理驱动程序的调用;
java.sql.Connection:处理特定的数据库连接;
java.sql.Statement:代表一个特定的SQL执行语句;
java.sql.PreparedStatement:代表一个预编译的SQL执行语句;
java.sql.CallableStatment:代表一个存储过程的SQL调用语句;
java.sql.ResultSet:代表SQL语句的执行结果;24使用JDBC访问数据库的过程JDBC访问数据库过程可以分为连接数据库和操作数据库两个步骤,如下图所示:驱动管理器连接SQL语句结果集加载JDBC驱动程序建立数据库连接发送SQL查询获得查询结果25
(1)JDBC连接数据库
JDBC连接数据库分为:加载驱动程序和建立连接加载驱动程序为了与特定的数据源或者数据库相连,JDBC必须加载相应的驱动程序。驱动程序可以是JDBC-ODBCBridge驱动程序、JDBC通过网络协议的驱动程序、或者是数据库厂商提供的驱动程序。可以使用Class.forName()方法显式加载一个驱动程序:StringDriverName=“com.mysql.jdbc.Driver”Class.forName(DriverName)26
建立连接
DriverManager类的getConnection()方法用于建立与某个数据源的连接:
Stringurl=“jdbc:mysql://localhost/sql_test”
Connectioncon=
DriverManager.getConnection(url)
其中,另一个getConnection(Stringurl,Stringuser,Stringpassword),可以带有密码和用户名。通信子协议、主机名、端口名、数据库名27例:用下面的实例来测试连接SQLServer数据库是否成功。<%@pagelanguage="java"contentType="text/html;charset=gb2312"pageEncoding="gb2312"%><%@pageimport="java.sql.*"%>28<body>
<%
Stringurl="jdbc:microsoft:sqlserver://localhost:1433";
Connectionconn=null;
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}catch(ClassNotFoundExceptione){
out.println("加载驱动器类时出现异常");
}加载驱动程序29
try{
conn=null
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年学校饮用水管理制度(四篇)
- 2024年南京租房合同参考范本(三篇)
- 2024年安全生产奖惩制度模版(二篇)
- 2024年幼儿园后勤秋季工作计划例文(六篇)
- 2024年医院退药管理制度例文(六篇)
- 2024年安全生产检查及隐患整改制度例文(五篇)
- 2024年危险品货物运输合同(二篇)
- 2024年客服部工作计划范例(二篇)
- 2024年员工试用期转正工作总结(四篇)
- 【《五粮液公司财务风险管理与控制探析开题报告2700字》(论文)】
- 鱼塘维护合同模板
- 2024年山东济南轨道交通集团限公司招聘95人历年高频难、易错点500题模拟试题附带答案详解
- 2024年认证行业法律法规及认证基础知识
- 2024年临时用工管理制度(五篇)
- 部编人教版小学道德与法治二年级上册:期中考试卷(新教材)
- 三基考试题+参考答案
- MBA考试《英语》历年真题和解析答案
- 2024广西专业技术人员继续教育公需科目参考答案(97分)
- 江苏省建筑与装饰工程计价定额(2014)电子表格版
- 《船舶柴油机》教案48页
- 佛山佛罗伦萨小镇市调报告课堂PPT
评论
0/150
提交评论