JDBC-连接oracle和MySql数据库的基类

时间:2023-02-05 13:09:36

1.连接oracle数据库

package com.oracle.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class JDBCTemplate {
private static final String className="oracle.jdbc.driver.OracleDriver";
private static final String url="jdbc:oracle:thin:@localhost:1521:XE";
private static final String user="system";
private static final String password="password";
private Connection conn=null;
private PreparedStatement pst=null;
private ResultSet rs=null;

static{
System.out.println("开始加载驱动");
try {
Class.forName(className);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("驱动已经成功加载");
}
//创建连接
public Connection getConn(){
try {
conn=DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
private void createPrepareStatement(String sql){
try {
pst=this.getConn().prepareStatement(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 修改
* @param sql
* @param args
* @return
*/
public int update(String sql,String args[]){
int rowcount=0;
this.createPrepareStatement(sql);
try {
for(int i=0;args!=null && i<args.length;i++){
pst.setString(i+1, args[i]);
}
rowcount=pst.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
this.closeConn();
}
return rowcount;
}
/**
* 查询
* @param sql
* @param args
* @return
*/
public ResultSet Query(String sql,String[] args){
this.createPrepareStatement(sql);
try {
for(int i=0;args!=null && i<args.length;i++){
pst.setString(i+1, args[i]);
}
rs=pst.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
this.closeConn();
}
return rs;
}
/**
* 获取首行首列的值
*
* @param sql
* @return
*/
public String executeScalar(String sql) {
String res = "";
this.createPrepareStatement(sql);
try {
ResultSet rs = pst.executeQuery();

if (rs.next()) {
res = rs.getString(1);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
this.closeConn();
}
return res;
}
/**
* 关闭原则:从小到大
*/
public void closeConn(){
try {
if(rs!=null){
rs.close();
}
if(pst!=null){
pst.close();
}
if(conn!=null){
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
2.连接MySql数据库(与连接Oracle数据库不同的代码段)

private static final String className="org.gjt.mm.mysql.Driver";
private static final String url="jdbc:mysql://localhost:3306/table_name";
private static final String user="root";
private static final String password="password";