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
    

      

      

      

  • 相关阅读:
    At least one JAR was scanned for TLDs yet contained no TLDs
    {转} MJPG流媒体在HTML5的呈现方案
    {转}理解HTTP/304响应
    blueimp,预览遮罩范围控制
    快速生成mysql上百万条测试数据
    mysql插入文本文档及读取
    tomcat启动报错:注释指定的bean类.与现有的冲突.相同的名称和类
    csv的文件excel打开长数字后面位变0的解决方法
    UNIX或LINUX时间戳转时间
    Myeclipse更新SVNStatusSubscriber 时报告了错误。1 中的 0 个资源已经同步。
  • 原文地址:https://www.cnblogs.com/feipengting/p/7606042.html
Copyright © 2011-2022 走看看