標籤:style blog http color java os io strong
1、JDBC中如何擷取資料庫連結Connection?
Driver 是一個介面: 資料庫廠商必須提供實現的介面. 能從其中擷取資料庫連接.
可以通過 Driver 的實作類別對象擷取資料庫連接.
1. 加入 mysql 驅動
1). 解壓 mysql-connector-java-5.1.7.zip
2). 在當前項目下建立 lib 目錄
3). 把 mysql-connector-java-5.1.7-bin.jar 複製到 lib 目錄下
4). 右鍵 build-path , add to buildpath 加入到類路徑下.s
幾種常用資料庫的JDBC URL:
@Testpublic void testDriver() throws SQLException { //1. 建立一個 Driver 實作類別的對象 Driver driver = new com.mysql.jdbc.Driver(); //2. 準備串連資料庫的基本資料: url, user, password String url = "jdbc:mysql://localhost:3306/test"; Properties info = new Properties(); info.put("user", "root"); info.put("password", "1230"); //3. 調用 Driver 介面的 connect(url, info) 擷取資料庫連接 Connection connection = driver.connect(url, info); System.out.println(connection);}
擷取資料庫連結最簡單方法
/**JDBC.properties檔案中的內容:#driver=oracle.jdbc.driver.OracleDriver#jdbcUrl=jdbc:oracle:thin:@localhost:1521:orcl#user=scott#password=javadriver=com.mysql.jdbc.DriverjdbcUrl=jdbc:mysql://localhost:3306/atguiguuser=rootpassword=1230*/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()); }
在不修改來源程式的情況下,擷取任何資料庫連結的通用方法
解決方案: 把資料庫驅動 Driver 實作類別的全類名、url、user、password 放入一個
設定檔中, 通過修改設定檔的方式實現和具體的資料庫解耦.