
JDBC定义了4种不同的驱动程序,现分述如下:
类型 1: JDBC-ODBC Bridge
在JDBC出现的初期,JDBC-ODBC桥显然是非常有实用意义的,通过JDBC-ODBC桥,开发人员可以使用JDBC来存取ODBC数据源。不足的是,他需要在客户端安装ODBC驱动程序,换句话说,必须安装Microsoft Windows的某个版本。使用这一类型你需要牺牲JDBC的平台独立性。另外,ODBC驱动程序还需要具有客户端的控制权限。
类型 2: JDBC-native driver bridge
JDBC本地驱动程序桥提供了一种JDBC接口,它建立在本地数据库驱动程序的顶层,而不需要使用ODBC。 JDBC驱动程序将对数据库的API从标准的JDBC调用转换为本地调用。使用此类型需要牺牲JDBC的平台独立性,还要求在客户端安装一些本地代码。
类型 3: JDBC-network bridge
JDBC网络桥驱动程序不再需要客户端数据库驱动程序。它使用网络上的中间服务器来存取数据库。这种应用使得以下技术的实现有了可能,这些技术包括负载均衡、连接缓冲池和数据缓存等。由于第3种类型往往只需要相对更少的下载时间,具有平台独立性,而且不需要在客户端安装并取得控制权,所以很适合于Internet上的应用。
类型 4: Pure Java driver
第4种类型通过使用一个纯Java数据库驱动程序来执行数据库的直接访问。此类型实际上在客户端实现了2层结构。要在N-层结构中应用,一个更好的做法是编写一个EJB,让它包含存取代码并提供一个对客户端具有数据库独立性的服务。
java连接mysql
以前写过一个java连接Sql Server的例子,但大家还是经常会问java如何连接mysql,索性将这个也写下来了:)
首先下载jdbc驱动(用搜索引擎搜下,多如牛毛),mysql的jdbc驱动只有一个jar包,名为mysqldriverjar,只要把这个jar包设置到环境变量(classpath)里就可以了
假设驱动程序安装在d:\sqldriver目录下,那么就在classpath中添加d:\sqldriver\mysqldriverjar;
测试代码
import javasql;
public class SqlTesting {
public static void main(String args[]) {
String url = "jdbc:mysql://localhost:3306/test";//test为数据库名
String user ="root";
String password = "";
String sqlStr = "select from test_table";//test_table为表名
try {
ClassforName("commysqljdbcDriver");
Systemoutprintln( "" );
Connection con = DriverManagergetConnection( url, user, password );
Statement st = concreateStatement();
ResultSet rs = stexecuteQuery( sqlStr );
while(rsnext()) {
Systemoutprintln(rsgetString(1));
}
rsclose();
stclose();
conclose();
} catch(Exception err) {
errprintStackTrace(Systemout);
}
}
}
(1)JDBC-ODBC桥加ODBC驱动程序
JavaSoft桥产品利用ODBC驱动程序提供JDBC访问。注意,必须将ODBC二进制代码(许多情况下还包括数据库客户机代码)加载到使用该驱动程序的每个客户机上。因此,这种类型的驱动程序最适合于企业网(这种网络上客户机的安装不是主要问题),或者是用Java编写的三层结构的应用程序服务器代码。
(2)本地API
这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调用。注意,象桥驱动程序一样,这种类型的驱动程序要求将某些二进制代码加载到每台客户机上。
(3)JDBC网络纯Java驱动程序
这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。通常,这是最为灵活的JDBC驱动程序。有可能所有这种解决方案的提供者都提供适合于Intranet用的产品。为了使这些产品也支持Internet访问,它们必须处理Web所提出的安全性、通过防火墙的访问等方面的额外要求。几家提供者正将JDBC驱动程序加到他们现有的数据库中间件产品中。
(4)本地协议纯Java驱动程序
这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。这将允许从客户机机器上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。由于许多这样的协议都是专用的,因此数据库提供者自己将是主要来源,有几家提供者已在着手做这件事了。
据专家预计第(3)、(4)类驱动程序将成为从JDBC访问数据库的首方法。第(1)、(2)类驱动程序在直接的纯Java驱动程序还没有上市前会作为过渡方案来使用。对第(1)、(2)类驱动程序可能会有一些变种,这些变种要求有连接器,但通常这些是更加不可取的解决方案。第(3)、(4)类驱动程序提供了Java的所有优点,包括自动安装(例如,通过使用JDBC驱动程序的来下载该驱动程序)。
打开DbVisualizer软件,点击"Tools"菜单,选择"Connection wizard"选项,进入配置窗口"New Connection Wizard"
在"New Connection Wizard"窗口中,输入一个连接名称,可随意取名,之后点击"Next"
在"Select Database Driver"驱动选择步骤中选择Informix驱动,前提是在DbVisualizer安装目录下的lib目录有ifxjdbcjar驱动包,没有可在网上下载。点击"Next"
在主设置界面设置数据库信息。从上至下依次为:
Database Userid 数据库连接名,必须设置
Database Passwoed 数据库连接密码,必须设置
Database Server 数据库服务器IP,必须设置
Database Port 数据库服务器端口,必须设置
Database 数据库名,必须设置
Database Server 数据库实例名,必须设置
在上一步的设置窗口中,点击"Ping Server"按钮,测试是否能ping通数据库服务器,测试通过则点击"Finish"完成按钮,失败则检查配置情况
6
配置通过后,在主界面的右侧则会显示出配置的连接,右键选择"Connect"则可连接到配置的数据库
JDBC代表Java数据库连接,这对Java编程语言和广泛的数据库之间独立于数据库的连接标准的JavaAPI。
JDBC库包含的API为每个通常与数据库的使用相关联的任务:
使得连接到数据库
创建SQL或MySQL语句
执行SQL或MySQL的查询数据库
查看和修改结果记录从根本上说,JDBC是一种规范,它提供的接口,一套完整的,允许便携式访问底层数据库。可以用Java来写不同类型的可执行文件,如:
Java应用程序
JavaApplets
JavaServlets
JavaServerPages(JSP)
EnterpriseJavaBeans(EJBs)所有这些不同的可执行文件就可以使用JDBC驱动程序来访问数据库,并把存储的数据的优势。
JDBC提供了相同的功能,ODBC,允许Java程序包含与数据库无关的代码。
先决条件:
以前正如期进行本教程,需要具备以下两个主题内容很好的了解:
核心Java编程
SQL或MySQL数据库
JDBC架构:
JDBCAPI支持两层和三层处理模型进行数据库访问,但在一般的JDBC体系结构由两层组成:
JDBCAPI:提供了应用程序对JDBC的管理连接。
JDBCDriverAPI:支持JDBC管理到驱动器连接。JDBCAPI的使用驱动程序管理器和数据库特定的驱动程序提供透明的连接到异构数据库。
JDBC驱动程序管理器可确保正确的驱动程序来访问每个数据源。该驱动程序管理器能够支持连接到多个异构数据库的多个并发的驱动程序。
以下是结构图,它显示了驱动程序管理器方面的JDBC驱动程序和Java应用程序的位置:
常见的JDBC组件:
JDBCAPI提供了以下接口和类:
DriverManager:这个类管理数据库驱动程序的列表。内容是否符合从Java应用程序使用的通信子协议正确的数据库驱动程序的连接请求。识别JDBC在一定子协议的第一个驱动器将被用来建立数据库连接。
Driver:此接口处理与数据库服务器通信。很少直接与驱动程序对象。相反,使用DriverManager中的对象,它管理此类型的对象。它也抽象与驱动程序对象工作相关的详细信息
Connection:此接口与接触数据库的所有方法。连接对象表示通信上下文,即,与数据库中的所有的通信是通过唯一的连接对象。
Statement:可以使用这个接口创建的对象的SQL语句提交到数据库。一些派生的接口接受除执行存储过程的参数。
ResultSet:这些对象保存从数据库后,执行使用Statement对象的SQL查询中检索数据。它作为一个迭代器,让您可以通过移动它的数据。
SQLException:这个类处理发生在一个数据库应用程序的任何错误。
前期准备,具体包括
1]
下载安装SQL Server(本文以SQL Server 2012为例)
2]
下载Microsoft JDBC Driver for SQL Server
3]
下载并且安装集成开发环境 Eclipse IDE for Java EE Developers(可选)
准备用于查询的数据库和数据表
打开SQL Server Manage Studio打开SQL Server 2012
新建一个名为UniversityDB的数据库
新建一个名为course的表并且插入如下记录
在Eclipse中建立工程并且进行配置
打开Eclipse
新建一个Dynamic Web Project
命名为JDBCdemo
将之前下载的sqljdbc4jar复制到WEB-INF/lib目录下。
如果WEB-INF目录下没有lib目录,就手动创建。
右键单击工程名,在d出的菜单中选择Build Path
如果选择 add JARs
然后选中sqljdbc4jar之后点确定。
在工程目录的WebContent目录下新建一个JSP文件
添加如下代码
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="javasql" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 401 Transitional//EN" ">
<html>
<head>
<meta >
<title>Insert title here</title>
</head>
<body>
<%
Statement sql;
ResultSet rs;
String driverName = "commicrosoftsqlserverjdbcSQLServerDriver"; //加载JDBC驱动
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=UniversityDB"; //连接服务器和数据库sample
String userName = "sa"; //默认用户名
String userPwd = "wkt19910602"; //密码
Connection dbConn;
try {
ClassforName(driverName);
dbConn = DriverManagergetConnection(dbURL, userName, userPwd);
sql=dbConncreateStatement();
rs=sqlexecuteQuery("selectfrom course");
Systemoutprintln("Connection Successful!"); //如果连接成功 控制台输出Connection Successful!
outprintln("<table Border>");
outprintln("<tr><td colspan=8 align=center>用户数据</td></tr>");
outprintln("<tr>");
outprintln("<td width=100>CourseId</td>");
outprintln("<td width=100>Title</td>");
outprintln("<td width=100>Department</td>");
outprintln("<td width=100>Credits</td>");
outprintln("</tr>");
while(rsnext())
{
outprintln("<tr>");
outprintln("<td>"+rsgetString(1)+"</td>");
outprintln("<td>"+rsgetString(2)+"</td>");
outprintln("<td>"+rsgetString(3)+"</td>");
outprintln("<td>"+rsgetString(4)+"</td>");
outprintln("</tr>");
}
outprintln("</table>");
dbConnclose();
} catch (Exception e) {
eprintStackTrace();
}
%>
</body>
</html>
最后还需要配置环境变量
将sqljdbc4jar加入到classpath中。
具体方法如下(以win7为例)
计算机=>右键选择属性=>选择高级系统设置=>选择环境变量=>在classpath中添加sqljdbc4jar的所在位置。
编译运行工程,结果如下
以上就是关于jdbc驱动程序有几种全部的内容,包括:jdbc驱动程序有几种、请问毕业论文JDBC与MYSQL数据库的配置要怎么写啊资料都在哪找 我怎么找不到啊、JAVA访问数据库的4种方法是哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)