1. 程式人生 > >JDBC通過DriverManager獲取資料庫連線

JDBC通過DriverManager獲取資料庫連線

一 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)方法穿入的引數不同,能返回不同     的資料庫的連線