1. 程式人生 > >jdbc工具類通過配置檔案連線資料庫學習理解

jdbc工具類通過配置檔案連線資料庫學習理解



/*properties的配置檔案學習的理解
一、properties配置檔案的好處
     1、方便維護,比如如果想更換資料庫通過properties配置檔案非常容易的。
     2、程式如果修改資料庫只需修改配置檔案即可。
二、存放位置:
      在src檔案內
三、格式:
      以鍵值對的形式
      副檔名為:.properties
      包含四個引數:
      DriverClass=?
      url=?
      username=?
      password=?
*/
/*
四、載入配置檔案:
      1、IO流讀取檔案,鍵值對儲存到集合
      2、從集合中以鍵值對方式獲取資料庫的連線資訊,完成資料庫的連線。
      3、這種方法執行一次只能執行一次。
*/
      public class PropertiesDemo{
             public static void main(String[] args) {
             //使用類的載入器,如果要拿到類的載入器必須先拿到.class檔案。這是從bin目錄下找鍵值對的,
             //因為鍵值對建立兩份一份在src下,一份在bin目錄下。


             //通過流的形式獲取配置檔案的值
             InputStream in =PropertiesDemo.class.getClassLoader().getResourceAsStream("database.properties");
             properties pro=new properties();//
             pro.load(in);
             //獲取配置檔案
             String DriverClass=pro.getProperty("DriverClass");
             String url=pro.getProperty("url");
             String username=pro.getProperty("username");
             String password=pro.getProperty("password");
             Class.forName(DriverClass);
             connection con=DriverManager.getConnection(url,username,password);
             System.out.println(con);
             }
             }
      }
      /*
      4、更好的方法是執行一次就不必在執行就行了。




      */
      public class jdbcutilsConfig{
     
      //做成靜態的就不用來回運行了執行一次就夠了。
      private static connection con;
      private static String DriverClass;
      private static String url;
      private static String username;
      private static String password;
      static{
      try{
      readconfig();
      Class.forName(DriverClass);
             connection con=DriverManager.getConnection(url,username,password);
             System.out.println(con);
             }catch (Excption ex){
             throw new RuntimeException("資料庫連線失敗");
             }


      }
      public static void readconfig()throws Exception{
      InputStream in =PropertiesDemo.class.getClassLoader().getResourceAsStream("database.properties");
             properties pro=new properties();//
             pro.load(in);
             //獲取配置檔案
             DriverClass=pro.getProperty("DriverClass");
             url=pro.getProperty("url");
             username=pro.getProperty("username");
             password=pro.getProperty("password");
      }
            public static connection getConnection(){
            return con;
            }


      }
//更換資料庫只需更改配置檔案就行了。