一 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)方法穿入的参数不同,能返回不同 的数据库的连接