zoukankan      html  css  js  c++  java
  • 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
    

      

      

      

  • 相关阅读:
    开发者论坛一周精粹(第九期)
    你刚吃的兰州牛肉面_背后就藏着大数据
    《C++覆辙录》——1.9:使用糟糕的语言
    老司机带你用MaxCompute和表格存储玩转车联网数据
    Gartner最新发布:2017年十大战略技术趋势
    js的事件的三个阶段,事件委托的原理
    Spring的AOP1
    了解SQL注入攻击
    了解XSS攻击
    了解Serialization
  • 原文地址:https://www.cnblogs.com/feipengting/p/7606042.html
Copyright © 2011-2022 走看看