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

时间:2022-01-18 04:29:04

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

      顺便说一下我们的开发环境: 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包。