1. 程式人生 > >Javaweb總結1—在porperties檔案裡獲取JDBC連線屬性

Javaweb總結1—在porperties檔案裡獲取JDBC連線屬性

今天來分享一下使用porperties配置檔案和JDBC的聯合使用
JDBC:
在我們平時連線資料庫時,一般都是通過JDBC來進行連線,接下來是JDBC連線的步驟和程式碼演示。(大致步驟,需要執行的話加上自己的資訊和所用的環境)

    static String url = "jdbc:mysql://127.0.0.1:3306/new_schema?serverTimezone=UTC&useSSL=false";
    static String user = "root";
    static String password = "*******";
    public static Connection con;
    public static Connection init() {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            con = DriverManager.getConnection(url, user, password);

        } catch (Exception e) {
            e.printStackTrace();
        }
        return con;
    }

以上是通過JDBC連線資料庫,我連線的是Mysql,連線其他資料庫也大致相同,就是要載入的驅動不同。
當然在最後也不要忘了關閉連線

public static void close() {
        try {
            if (con != null)
                con.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

但是呢,你們會不會覺得像我剛剛所說的,如果要更還使用Oracle資料庫,那是不是好要一個一個往過改正呢?這個問題怎樣解決才是最好的呢?
當然,方法肯定是有的。利用配置檔案來配置資訊,在此,我將用porperties配置資訊來實現JDBC連線資料庫。
要使用porperties當然你也要知道它大致該怎麼操作對吧,因此在這先大致說一下porperties的內容該怎麼寫,在porperties檔案中,寫資料就可以大致理解為鍵值對,一個key對應一個value。因為它讀取的時候也是通過這個關係獲取的。
porperties配置檔案

driver="com.mysql.cj.jdbc.Driver";
url="jdbc:mysql://127.0.0.1:3306/new_schema?serverTimezone=UTC&useSSL=false";
user="root";
password="wrial.qq.com";

通過靜態程式碼塊載入

static {
    try {
        // 1.通過當前類獲取類載入器
        ClassLoader classLoader = JDBC_porper.class.getClassLoader();
        // 2.通過類載入器的方法獲得一個輸入流
        InputStream in = new BufferedInputStream(new FileInputStream("C:\\Users\\Administrator\\JavaMail\\src\\DB.porperties"));
        // 3.建立一個properties物件(集合)
        Properties props = new Properties();
        // 4.載入輸入流
        props.load(in);
        // 5.獲取相關引數的值
        driver = props.getProperty("driver");
        url = props.getProperty("url");
        user = props.getProperty("user");
        password = props.getProperty("password");
    } catch (IOException e) {
        e.printStackTrace();
    }
}

在控制檯中測試結果

driver:"com.mysql.cj.jdbc.Driver";
user:"root";
password:"wrial.qq.com";
url:"jdbc:mysql://127.0.0.1:3306/new_schema?serverTimezone=UTC&useSSL=false";

Process finished with exit code 0

當然,把這些屬性加到我們剛開始時候的連線JDBC的屬性裡,是不是就可以使用配置檔案來傳值了,如果要更換資料庫的話,可以更換配置檔案或者在檔案上改來達到目的,使程式碼看起來一目瞭然。

今天的分享就到這裡,是不是很簡單呢。當然配置檔案的功能也不止這一點,在合適的場景下都可以用得到。