Java通用oracle和mysql数据库连接

Java中oracle数据库连接写一个通用类UBUtil(){}

import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

public class DBUtil {
    private static Connection con;
    private static String url;
    private static String user;
    private static String pwd;

    public DBUtil() {

    }
    static {
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");/*如果是MySQL就改为Class.forName("com.mysql.jdbc.Driver");*/
            InputStream is = DBUtil.class.getResourceAsStream("/db.properties");//db.properties 是一个用户配置文件传用户名密码
            Properties prop=new Properties();
            prop.load(is);
            url=prop.getProperty("url");
            user=prop.getProperty("user");
            pwd=prop.getProperty("password");
            con = DriverManager.getConnection(url, user, pwd);
        }catch (Exception e){
        }
    }
    public static ResultSet find(String sql){
        con=getCon();
        try {
            Statement smt=con.createStatement();
            ResultSet rs=smt.executeQuery(sql);
            return rs;
        } catch (SQLException e) {
            e.printStackTrace();
            return null;
        }
    }
    public static ResultSet find(String sql,Object ...pram){//...pram数组
        con=getCon();
        try {
            PreparedStatement smt=con.prepareStatement(sql);
            for (int i=0;i<pram.length;i++){
                smt.setObject(i+1,pram[i]);
            }
            ResultSet rs=smt.executeQuery();
            return rs;
        } catch (SQLException e) {
            e.printStackTrace();
            return null;
        }
    }
    public static void insert(String sql,Object ...pram){//...pram数组
        con=getCon();
        try {
            PreparedStatement smt=con.prepareStatement(sql);
            for (int i=0;i<pram.length;i++){
                smt.setObject(i+1,pram[i]);
            }
            smt.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    public static Connection getCon(){
        try {
            if(con==null||con.isClosed())
                con = DriverManager.getConnection(url, user, pwd);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return con;
    }
}

 最后补一下db.properties中格式:

#db.properties
#数据配置文件
url=jdbc:oracle:thin:@localhost:1521:XE #或者url=::thin:@localhost:1521:xe
#url=jdbc:mysql://127.0.0.1:3306/diarydb?useUnicode=true&characterEncoding=UTF-8  #mysql的url
user=root
password=password

  

  

  

posted @ 2017-09-28 11:51  蓬鹏  阅读(11437)  评论(7编辑  收藏  举报