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?useUnicode=true&characterEncoding=utf-8&useSSL=false";
		//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)方法穿入的参数不同,能返回不同     的数据库的连接

猜你喜欢

转载自blog.csdn.net/wangjian530/article/details/83014828