程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 使用DriverManager獲取數據庫連接的一個小改進,spring獲取數據庫連接

使用DriverManager獲取數據庫連接的一個小改進,spring獲取數據庫連接

編輯:JAVA綜合教程

使用DriverManager獲取數據庫連接的一個小改進,spring獲取數據庫連接


由於使用DriverManager獲取數據庫連接時,由於DriverManager實現類中有一段靜態代碼塊,可以直接注冊驅動,且可以同時管理多個驅動程序

所以當換數據庫連接時需要指定不同的數據庫,那麼就需要反復修改properties配置文件(雖然並不麻煩),所以我想將每種驅動連接程序的properties文件都寫好

具體當進行連接時,再加一個配置文件,這個配置文件中指定傳入哪個properties文件

先來看一下文件路徑(圖片復制粘貼為何不好使了!!!!)

src

  com.jdbc.java

    TestJDBC.java

  properties

    jdbcName.properties

    mySql.properties

反正大體是這樣了,第一層是包,下面是各種文件

代碼如下

/**
     * 指定一個配置文件中進行選擇使用哪個配置文件(好繞口。。。)
     * 
     * @return
     * @throws Exception
     */
    public Connection getConnection3() throws Exception {
        // 准備連接數據庫的四個字符串
        // 驅動的全類名
        String driverClass = null;
        String jdbcUrl = null;
        String user = null;
        String password = null;
        String jdbcName = null;
        // 讀取jdbcName.properties文件
        InputStream inStream = getClass().getClassLoader().getResourceAsStream("properties/jdbcName.properties");
        Properties propertiesOfName = new Properties();
        propertiesOfName.load(inStream);
        jdbcName = propertiesOfName.getProperty("jdbcName");
        // 讀取需要的properties 文件
        InputStream in = getClass().getClassLoader().
                getResourceAsStream("properties/" + jdbcName + ".properties");
        Properties properties = new Properties();
        properties.load(in);
        driverClass = properties.getProperty("driver");
        jdbcUrl = properties.getProperty("jdbcUrl");
        user = properties.getProperty("user");
        password = properties.getProperty("password");

        // 加載數據庫驅動程序(注冊驅動)
        Class.forName(driverClass);

        Connection connection = DriverManager.getConnection(jdbcUrl, user, password);
        return connection;
    }


測試代碼如下

@Test
    public void testGetConnection3() throws Exception {
        System.out.println(getConnection3());
    }

結果如下

com.mysql.jdbc.JDBC4Connection@104a311

需注意的問題:這種方式指定properties文件時不能選擇相對路徑,會報錯

jdbcName.properties中的代碼如下

jdbcName=mySql

 

這裡的代碼是不是非常簡潔,只需把各種什麼mySql,Oracle之類的配置文件寫好,然後想用哪個來這個配置文件中把名字一改就行,改動非常小(懶人專用~)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved