用JDBC方法连接Oracle和Mysql数据库

本文分享了两个公共类,分别用于连接Oracle和MySQL数据库,适用于JSP开发环境。介绍了如何建立连接、执行SQL语句及关闭连接的方法,并提供了完整的示例代码。

       前几天刚刚接触jsp,感觉上不管是asp还是jsp首要解决的一个问题就是怎么方便快捷的连接数据库的问题,今天下午写了一个公共类,复制到任何地方用起来都是很方便的。拿出来和大家分享一下,给初学者以方便哈。当然大牛们就不要吐槽了哈。大笑

      顺便说一下我们的开发环境: windows8+Myeclipse10.0+Oracle11g+Mysql5.6。

    


/*
 * 这是一个用于连接Oracle数据库的公共类。
 * 需要引入相应的jar包
 * 
 * @author:JunwenYu
 * @time:2013-08-09
 */

package com.git.connDB;

import java.sql.*;

public class ConnOracle {
	private Connection con = null;
	private Statement st = null;
	private ResultSet rs = null;

	private final String url = "jdbc:oracle:thin:@localhost:1521:test";
	private final String user = "SYSTEM";
	private final String password = "123456";

	public ConnOracle() {
		try {
			// 注册驱动
			Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	// 打开数据库连接
	public void open() {
		try {
			con = DriverManager.getConnection(url, user, password);
			st = con.createStatement();
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	// 执行SQL-->select语句,获取查询结果。
	public ResultSet getQueryInfo(String sqlQuery) {
		try {
			rs = st.executeQuery(sqlQuery);
			return rs;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

	// 执行SQL-->update insert delete语句
	public boolean execSQL(String sql) {
		try {
			st.execute(sql);
			return true;
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}
	}

	// 关闭连接,释放资源
	public void close() {
		try {
			if (rs != null) {
				rs.close();
			}
			if (st != null) {
				st.close();
			}
			if (rs != null) {
				st.close();
			}
		} 
		catch (Exception e) {
			e.printStackTrace();
		}

	}

}


       自己写了一个程序连接的试了一下。


/*
 * 用于测试ConnectOracle.java
 * 
 * @author:JunwenYu
 * @time:2013-08-09
 */

package com.git.connDB;
import java.sql.ResultSet;

public class OracleDemo {

	public static void main(String[] args) {
		//实例化对象
		ConnOracle odb =new ConnOracle();
		//定义要执行的SQL语句
		String selSql = "select * from student";
		String delSql = "delete from student where name=JunwenYu";
		//打开数据库连接
		odb.open();
		//定义ResultSet接受查询之后的结果集
	    ResultSet rs = odb.getQueryInfo(selSql);
	    
		try {
	    //如果结果不为空则一直输出,一定要使用next()方法
			while (rs.next()) {
			System.out.println(rs.getString("id")+"\t"+rs.getString("name"));
			}
			if(odb.execSQL(delSql))
			{
			System.out.println("Name=JunwenYu的记录删除成功!");
			}
		} catch (Exception e) {
			System.out.println(e);
		}
		finally{
		//不管执行结果如何,关闭数据库连接,释放资源
			odb.close();
		}

	}

}

    同理,下面是Mysql的,感觉没有什么区别。

/*
 * 这是一个用于连接MySQL数据库的公共类。
 * 需要引入相应的jar包
 * 
 * @author:JunwenYu
 * @time:2013-08-09
 */

package com.git.connDB;

import java.sql.*;

public class ConnMysql {
	private Connection con = null;
	private Statement st = null;
	private ResultSet rs = null;

	private final String url = "jdbc:mysql://localhost:3306/student?"
			+ "user=root&password=123456";

	public ConnMysql() {
		try {
			// 注册驱动
			Class.forName("com.mysql.jdbc.Driver").newInstance();
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	// 打开数据库连接
	public void open() {
		try {
			con = DriverManager.getConnection(url);
			st = con.createStatement();
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	// 执行SQL-->select语句,获取查询结果。
	public ResultSet getQueryInfo(String sqlQuery) {
		try {
			rs = st.executeQuery(sqlQuery);
			return rs;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

	// 执行SQL-->update insert delete语句
	public boolean execSQL(String sql) {
		try {
			st.execute(sql);
			return true;
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}
	}

	// 关闭连接,释放资源
	public void close() {
		try {
			if (rs != null) {
				rs.close();
			}
			if (st != null) {
				st.close();
			}
			if (rs != null) {
				st.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

}

 下面是测试程序:

/*
 * 用于测试ConnectMysql.java
 * 
 * @author:JunwenYu
 * @time:2013-08-09
 */


package com.git.connDB;

import java.sql.ResultSet;

public class MysqlDemo {

	public static void main(String[] args) {
		// 实例化对象
		ConnMysql odb = new ConnMysql();
		// 定义要执行的SQL语句
		String selSql = "select * from info";
		String delSql = "delete from info where id=3";
		// 打开数据库连接
		odb.open();
		// 定义ResultSet接受查询之后的结果集
		ResultSet rs = odb.getQueryInfo(selSql);

		try {
			// 如果结果不为空则一直输出,一定要使用next()方法
			while (rs.next()) {
				System.out.println(rs.getString("id") + "\t"
						+ rs.getString("name"));
			}
		    if (odb.execSQL(delSql)) {
				System.out.println("id=3的记录删除成功!");
			}
		    
		} catch (Exception e) {
			System.out.println(e);
		} finally {
			// 不管执行结果如何,关闭数据库连接,释放资源
			odb.close();
		}

	}

}

   程序里面的注释已经写的很清楚了,最后要说的就是在开发时都要引入相应的jar包。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值