Javaweb總結1—在porperties檔案裡獲取JDBC連線屬性
阿新 • • 發佈:2018-12-23
今天來分享一下使用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的屬性裡,是不是就可以使用配置檔案來傳值了,如果要更換資料庫的話,可以更換配置檔案或者在檔案上改來達到目的,使程式碼看起來一目瞭然。
今天的分享就到這裡,是不是很簡單呢。當然配置檔案的功能也不止這一點,在合適的場景下都可以用得到。