您的位置:首页 > 数据库 > MySQL

利用JDBC连接Mysql访问数据库完成增删改查操作

2014-02-26 12:16 991 查看
JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术。

一、JDBC基础知识        

        JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,并且可跨平台运行,并且不受数据库供应商的限制。

1、跨平台运行:这是继承了Java语言的“一次编译,到处运行”的特点;

2、不受数据库供应商的限制:巧妙在于JDBC设有两种接口,一个是面向应用程序层,其作用是使得开发人员通过SQL调用数据库和处理结果,而不需要考虑数据库的提供商;另一个是驱动程序层,处理与具体驱动程序的交互,JDBC驱动程序可以利用JDBC API创建Java程序和数据源之间的桥梁。应用程序只需要编写一次,便可以移到各种驱动程序上运行。Sun提供了一个驱动管理器,数据库供应商——如MySQL、Oracle,提供的驱动程序满足驱动管理器的要求就可以被识别,就可以正常工作。所以JDBC不受数据库供应商的限制。

        JDBC API可以作为连接Java应用程序与各种关系数据库的纽带,在带来方便的同时也有负面影响,以下是JDBC的优、缺点。优点如下:

操作便捷:JDBC使得开发人员不需要再使用复杂的驱动器调用命令和函数;

可移植性强:JDBC支持不同的关系数据库,所以可以使同一个应用程序支持多个数据库的访问,只要加载相应的驱动程序即可;

通用性好:JDBC-ODBC桥接驱动器将JDBC函数换成ODBC;

面向对象:可以将常用的JDBC数据库连接封装成一个类,在使用的时候直接调用即可。

        缺点如下:

访问数据记录的速度受到一定程度的影响;

更改数据源困难:JDBC可支持多种数据库,各种数据库之间的操作必有不同,这就给更改数据源带来了很大的麻烦

二、JDBC应用示例实验

实验 步骤:

1、下载mysql-connector-java-5.1.6-bin.jar驱动文件,并将该文件放到你的项目中去; 

2、在MyEclipse中的项目中添加Mysql驱动程序:在项目名上右键-> Build Path ->Add External Archiver然后选择你刚才放在项目中的文件, 点确定即可。

3、打开Mysql的各项服务,并在Mysql中建一张表。

4、编写MyEclipse与Mysql的连接程序:





public class DBUtil {
private final static String url="jdbc:mysql://localhost:3306/test";
private final static String user="root";
private final static String password="111111";

private Connection conn;
private PreparedStatement ps;
private ResultSet rs;

static{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}

//连接访问
public void getConn(){
try {
conn=DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
}

//关闭方法
public void close(){
try {
if(rs!=null){
rs.close();
}
if(ps!=null){
ps.close();
}
if(conn!=null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}

}

//增删改方法
public int update(String sql){
int i=0;
try {
getConn();
ps=conn.prepareStatement(sql);
i=ps.executeUpdate();
System.out.println(i);

} catch (Exception e) {
e.printStackTrace();
}finally{
close();
}
return i;
}

//查看方法
public ResultSet query(String sql){
try {
getConn();
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
//   close();//注意:一旦关闭结果集为null
} catch (Exception e) {
e.printStackTrace();
}
return rs;
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐