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

通過Driver獲取數據庫連接,driver數據庫連接

編輯:JAVA綜合教程

通過Driver獲取數據庫連接,driver數據庫連接


先看一下文件,在當前包下有一個properties配置文件,在根目錄下有一個lib文件夾,裡面放的是mySql的驅動jar包

Driver :是一個接口,數據庫廠商必須提供實現的接口,能從其中獲取數據庫連接 可以通過Driver的實現類的對象獲取數據庫連接
* 1.加入mySql驅動
* 1.1 解壓mysql-connector-java-5.1.39.zip 1.2 在當前項目下新建lib目錄 1.3
* 把mysql-connector-java-5.1.39-bin.jar復制到lib目錄下 1.4 右鍵,buildPath,add to
* buildPath加入到類路徑下

第一種方法,不需要配置文件,直接獲取數據庫連接

 1 @Test
 2     public void testDriver() throws Exception {
 3         // 1.創建一個Driver 的實現類的對象
 4         Driver driver = new com.mysql.jdbc.Driver();
 5         // 2.准備連接數據庫的基本信息,url,user,password
 6         String url = "jdbc:mysql://localhost:3306/test";
 7 
 8         Properties info = new Properties();
 9         info.put("user", "root");
10         info.put("password", "123456");
11 
12         // 3.調用Driver接口的connect(url,info)獲取數據庫連接
13         Connection connection = driver.connect(url, info);
14 
15         System.out.println(connection);//com.mysql.jdbc.JDBC4Connection@73f712
16     }

 

 為了使得程序解耦,並且更加通用,使用如下方案

編寫一個通用的方法,在不修改源程序的情況下,可以獲取任何數據庫的連接 解決方案:把數據庫驅動Driver
實現類的全類名、url、user、password 放入到一個配置文件中, 通過修改配置文件的方式實現和具體的數據庫解耦。

代碼:

public Connection getConnection() throws Exception {

        String driverClass = null;
        String jdbcUrl = null;
        String user = null;
        String password = null;

        // 讀取類路徑下的 jdbc.properties 文件
        InputStream in = getClass().getClassLoader().getResourceAsStream("jdbc.properties");
        Properties properties = new Properties();
        properties.load(in);
        driverClass = properties.getProperty("driver");
        jdbcUrl = properties.getProperty("jdbcUrl");
        user = properties.getProperty("user");
        password = properties.getProperty("password");

        // 通過反射創建 Driver 對象.
        Driver driver = (Driver) Class.forName(driverClass).newInstance();
        Properties info = new Properties();
        info.put("user", user);
        info.put("password", password);

        // 通過 Driver 的 connect 方法獲取數據庫連接.
        Connection connection = driver.connect(jdbcUrl, info);
        return connection;
    }
    
    @Test
    public void testGetConnection() throws Exception{
        System.out.println(getConnection());//com.mysql.jdbc.JDBC4Connection@1556938
    }

properties文件內容如下

#driver=oracle.jdbc.driver.OracleDriver
#jdbcUrl=jdbc:oracle:thin:@localhost:1521:orcl
#user=scott
#password=java

driver=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/test
user=root
password=123456

這樣如果想連接其他數據庫時,只需修改此文件即可,無需修改代碼

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