JDBC中使用Properties類及配置文件的操作


同時發布於:https://blog.csdn.net/Activity_Time/article/details/81149710

一、properties配置文件

開發中獲得連接的4個參數(驅動、URL、用戶名、密碼)通常都存在配置文件中,方便后期維護,程序如果需要更換數據庫,只需要修改配置文件即可。

通常情況下,我們習慣使用properties文件,Java中有專門用來裝載配置文件的類Properties(Java.util.Properties),配置文件用來保存一些在程序中可能修改的值,修改時只要修改配置文件即可,而不用修改程序本身。Java配置文件常為.properties文件,格式為文本文件,文件的內容的格式是“鍵=值”的格式。在properties的文件中,在行首加上 # 就是注釋這行,或者是用 <!-- --> 包括這行也是注釋。


     
     
     
             
  1. #例如
  2. driverClass=com.mysql.jdbc.Driver
  3. url=jdbc:mysql://localhost:3306/mydatabase
  4. username=root
  5. password=7894561230
  6. <! --注釋-->

用MyEclipse打開是這個樣子的,這里我保存在了src目錄下,命名為database.properties

 PS:一行一組數據,格式是“key=value”.

a) key命名自定義,如果是多個單詞,習慣使用點分隔。例如:jdbc.driver

b) value值不支持中文,如果需要使用非英文字符,將進行unicode轉換

 二、加載配置文件


     
     
     
             
  1. public static void loadPro() throws Exception {
  2. //從文件中讀取輸入流
  3. FileInputStream fis = new FileInputStream( "src/database.properties");
  4. //創建Properties對象
  5. Properties pro = new Properties();
  6. //從流中加載數據
  7. pro.load(fis);
  8. //關閉流
  9. fis.close();
  10. //從Properties對象中根據鍵讀取值
  11. String driverClass = pro.getProperty( "driverClass");
  12. String url = pro.getProperty( "url");
  13. String username = pro.getProperty( "username");
  14. String password = pro.getProperty( "password");
  15. //打印值
  16. System.out.println(driverClass);
  17. System.out.println(url);
  18. System.out.println(username);
  19. System.out.println(password);
  20. }

1.通過IO讀取文件

2.創建Properties對象

3.使用Properties對象的load(流)方法加載數據

4.使用Properties對象的getProperty(鍵)方法獲取對應值

三、用JDBC建立連接

由於本文主要介紹.properties配置文件的使用,固此處不做贅述


     
     
     
             
  1. /* 假設已經取得 driverClass,url, username, password 的值 */
  2. // 注冊驅動
  3. Class.forName(driverClass);
  4. // 建立連接
  5. Connection con = DriverManager.getConnection(url, username, password);
  6. // 獲取SQL語句執行對象
  7. Statement stat = con.createStatement();
  8. // 調用執行者對象方法,執行SQL語句獲取結果集
  9. String sql = "SELECT * FROM sort";
  10. ResultSet rs = stat.executeQuery(sql);
  11. // ResultSet接口方法 boolean next() 返回true,有結果集,返回false沒有結果集
  12. while(rs.next()){
  13. // 獲取每列數據,使用是ResultSet接口的方法 getXX方法參數中,建議寫String列名
  14. System.out.println(rs.getInt( "sid")+ " "+rs.getString( "sname")+
  15. " "+rs.getDouble( "sprice")+ " "+rs.getString( "sdesc"));
  16. }
  17. // 關閉對象,先開后閉
  18. rs.close();
  19. stat.close();
  20. con.close();

四、Properties對象的常用方法

1. getProperty ( String key),用指定的鍵在此屬性列表中搜索屬性。也就是通過參數 key ,得到 key 所對應的 value。

2. load ( InputStream inStream),從輸入流中讀取屬性列表(鍵和元素對)。通過對指定的文件(比如說上面的 test.properties 文件)進行裝載來獲取該文件中的所有鍵 - 值對。以供 getProperty ( String key) 來搜索。

3. setProperty ( String key, String value) ,調用 Hashtable 的方法 put 。他通過調用基類的put方法來設置 鍵 - 值對。

4. store ( OutputStream out, String comments),以適合使用 load 方法加載到 Properties 表中的格式,將此 Properties 表中的屬性列表(鍵和元素對)寫入輸出流。與 load 方法相反,該方法將鍵 - 值對寫入到指定的文件中去。

5. clear (),清除所有裝載的 鍵 - 值對。該方法在基類中提供。

6.    keySet(),獲取鍵集合(Properties繼承Hashtable,內部通過Map實現)

 

本文鏈接:https://blog.csdn.net/Activity_Time/article/details/81149710

相關文章:https://blog.csdn.net/Activity_Time/article/details/81150644

參考文章:https://www.cnblogs.com/bakari/p/3562244.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM