当前位置:文档之家› Java中连接MySql数据库的几种方法

Java中连接MySql数据库的几种方法

JDBC
Java中JDBC定义了java与各种sql数据库之间的编程接口,JDBC API是一个统一的标准应用程序编程接口,这样可以屏蔽异种数据库之间的差异。

JDBC的工作原理
JDBC与ODBC(OpenData Base Connectivity,开放式数据库连接)的作用非常类似,它在应用程序和数据库之间起到了桥梁的作用。

ODBC使用的特别广泛,在java中还提供了JDBC-ODBC桥,能够在JDBC与ODBC之间进行转换,这样可以通过ODBC屏蔽不同种数据库之间的差异。

在JDK的包java.sql.*中定义了一系列的类、接口、异常以及这些类和接口中定义的属性和方法,java的开发人员通过一定的规则调用java.sql.*中的API就可以实现对数据库管理系统的访问。

JDBC的四种驱动
1.JDBC-ODBC Bridge
JDBC-ODBC Bridge可以访问一个ODBC数据源,但在执行Java程序的机器上必须安装ODBC驱动,并作出配置,它的调用方式如下图:
因为中间有个JDBC-ODBC,所以影响了执行效率。

配置ODBC数据源的方法如下(以Mysql为例):
第一步,打开控制面板—>管理工具--->数据源(ODBC)
选择系统DSN,这一项默认应该是空的,我这里是已经配置好了一个数据源。

第二步,点击添加
第三步,选择Mysql的ODBC驱动,点击完成。

注:MySQL的ODBC驱动在系统中一般是找不到的,因为它不是系统默认自带的驱动,所以,我们要自己安装我们所需要的MySQL的ODBC驱动。

安装步骤如下:
①.下载安装包,/downloads/connector/odbc/
②.我们下载与自己系统相应的ODBC驱动
这里我们选择
③.我们下载,完成后会得到
④.点击安装,安装完成后,就可以找到我们需要的驱动了。

第四步,配置我们的数据源信息。

第五步,点击Test
测试成功,点击ok。

测试失败,请检查配置问题。

第六步,点击应用确定,这样我们的ODBC数据源就配置好了。

下面,我们写一段代码来测试下JDBC-ODBC连接
①.我们在已有的project中先新建一个package,名为jdbc,如下图:
②.在保重新建我们的测试类,名为JdbcConnector.java
③.在JdbcConnector.java中写如下代码:
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcConnector {
private static Connection connection;
public static Connection getConnector() throws Exception{
//Class.forName("org.git.mm.mysql.Driver");
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connection=DriverManager.getConnection("jdbc:odbc:DataSource","ro ot","root");
return connection;
}
public static void main(String[] args) throws SQLException, Exception {
Statement statement=getConnector().createStatement();
ResultSet rSet=statement.executeQuery("select * from usertable");
while (rSet.next() ){
System.out.println(rSet.getInt(1)+" "+rSet.getString(2));
}
}
}
这其中的代码,
获取Connection连接的代码是:
connection=DriverManager.getConnection("jdbc:odbc:DataSource","ro ot","root");
这句代码是调用DriverManager的静态方法getConnection()来构造我们的JDBC-ODBC连接。

④.我们运行代码看下结果
获取结果值与数据库中的完全一致,测试成功。

2.JDBC Native Bridge
这种方式需要在程序执行的机器上安装本地的且针对特定数据库的驱动程序,通过这个程序把对数据库的JDBC调用转换为数据库的API调用。

因此其性能比JDBC-ODBC的方式要更好一点,缺点就是需要安装驱动程序。

它的调用方式如下:
3.JDBC-NetWork Bridge
这种方式不需要安装驱动程序,直接用JDBC通过网络连接数据库,因此与平台无关,
效率较高,所以在internet的web开发中大量应用。

它的调用方式如下:
4.Pure Java JDBC Drive
Java驱动程序运行在客户端上,因此客户端可以直接访问数据库,其体系结构特别简单,但相应的安全性及程序的逻辑性不好,其调用方式如下:
下面是百度知道里面的一个回答,我引用过来:
1. JDBC-ODBC bridge (Open Database Connectivity,ODBC) 桥驱动程序由Sun 与Merant公司联合开发, 主要功能是把JDBC API调用转换成ODBC API 调用, 然后ODBC API调用针对供应商的ODBC 驱动程序来访问数据库, 即利用JDBC- ODBC 桥通过ODBC来存储数据源
Application <--> JDBC-ODBC Bridge <--> ODBC Driver <--> Database
2. Native-API Bridge
驱动程序上层包装Java程序以与Java应用程序作沟通,将JDBC呼叫转为原生程序代码的呼叫,下层为原生语言(像是C、C++)来与数据库作沟通,下层的函式库是针对特定数据库设计的,不若Type 1可以对ODBC架构的数据库作存取:
Application <--> Native-API Bridge <--> Native Driver <--> Database
3:JDBC-middleware
透过中间件来存取数据库,使用者不必安装特定的驱动程序,而是由驱动程序呼叫中间件,由中间件来完成所有的数据库存取动作,然后将结果传回给驱动程序:
Application <--> JDBC-middleware <--> middleware <--> Database
4:Pure Java Driver
使用纯Java撰写驱动程序与数据库作沟通,而不透过桥接或中间件来存取数据库:Application <--> Pure Java Driver <--> Database。

相关主题