• 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
    

      

      

      

  • 相关阅读:
    IIS服务器支持.apk文件下载
    java序列化
    ECMAScript 5/6/7兼容性速查表
    jquery获得select选中索引
    javascript获取调用方法的父引用
    AsyncCTP &IdentityModel
    开源的Owin 的身份验证支持 和跨域支持
    为什么Application_BeginRequest会执行两次
    基于Redis的消息订阅/发布
    基于异步的MVC webAPI控制器
  • 原文地址:https://www.cnblogs.com/feipengting/p/7606042.html
Copyright © 2020-2023  润新知