JDBC通過DriverManager獲取資料庫連線
阿新 • • 發佈:2018-12-14
一 DriverManager方法一:不用配置檔案
package com.atguigu.jdbc; import java.io.IOException; import java.io.InputStream; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; import org.junit.Test; import com.mysql.jdbc.Connection; import com.mysql.jdbc.Driver; public class JDBCTest { /*DriverManager方法一:不用配置檔案 * DriverManager是驅動的管理類 * 優點: * 1)可以通過過載getConnection()方法獲取資料庫連線,簡單方便 * 2)可以同時管理多個驅動程式:若註冊了多個數據庫連線,則用getConnection()方法穿入的引數不同,能返回不同的資料庫的連線 * @throws Exception */ @Test public void testDriverManager() throws IOException, SQLException, ClassNotFoundException { //1.準備連線資料庫的4個字串 //驅動的全類名 String driverClass = "com.mysql.jdbc.Driver"; //url String jdbcUrl = "jdbc:mysql://localhost:3306/test"; //user String user = "root"; //password String password = "wangjian"; //2.載入資料庫驅動程式(對應Driver 實現類中有註冊驅動的靜態程式碼塊) //DriverManager.registerDriver(Class.forName(driverClass).newInstance()); Class.forName(driverClass); //3.通過DriverManager的getConnection()方法獲取資料庫連線 Connection connection = (Connection) DriverManager.getConnection(jdbcUrl, user, password); System.out.println(connection); } }
成功連線資料庫:
二 DriverManager方法二:使用用配置檔案
package com.atguigu.jdbc; import java.io.IOException; import java.io.InputStream; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; import org.junit.Test; import com.mysql.jdbc.Connection; import com.mysql.jdbc.Driver; public class JDBCTest { //DriverManager方法二:使用用配置檔案 public Connection getConnection2() throws IOException, ClassNotFoundException, SQLException { //1.準備連線資料庫的4個字串 //1).建立Properties物件 Properties properties = new Properties(); //2).獲取jdbc.properties對應的輸入流 InputStream in = this.getClass().getClassLoader().getResourceAsStream("jdbc.properties"); //3).載入2)對應的輸入流 properties.load(in); //4)具體決定user,password等4個字串 String user = properties.getProperty("user"); String password = properties.getProperty("password"); String jdbcUrl = properties.getProperty("jdbcUrl"); String driver = properties.getProperty("driver"); //2.載入資料庫驅動程式(對應Driver 實現類中有註冊驅動的靜態程式碼塊) Class.forName(driver); //3.通過DriverManager的getConnection()方法獲取資料庫連線 return (Connection) DriverManager.getConnection(jdbcUrl, user, password); } @Test public void testGetConnection2() throws Exception { System.out.println(getConnection2()); } }
配置文提供給大家:
成功連線資料庫:
相比較Driver連線資料庫,我更推薦大家用DriverManager去連線資料庫,因為:
DriverManager可以通過過載getConnection(url, user, password)方法獲取資料庫連線,簡單方便 DriverManager可以同時管理多個驅動程式:若註冊了多個數據庫連線,則用getConnection(url, user, password)方法穿入的引數不同,能返回不同 的資料庫的連線