package cn.gp.test.jdbc;
?
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
?
import org.junit.Test;
?
/*
?* 实现得到代表与数据库连接的Connection类 三种方式
?*/
public class TestConnection {
@Test
public void testGetConnectionOne(){
try {
//创建mysql的Driver实现类,去实现java.sql.Driver;
Driver driver=new com.mysql.jdbc.Driver();
?
String url="jdbc:mysql://127.0.0.1:3306/db_jdbc";//定位数据库
Properties info = new Properties();//存储用户信息,key固定
info.put("user", "root");//用户名
info.put("password", "123");//密码
?
//获得代表与数据库连接的 实现类对象。
Connection connect = driver.connect(url, info);
?
System.out.println(connect);
} catch (SQLException e) {
e.printStackTrace();
}
}
?
@Test
public void testGetConnectionTwo(){
try {
//创建驱动管理器,用管理器注册一个驱动
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
?
//定位数据库
String url="jdbc:mysql://127.0.0.1:3306/db_jdbc";
//用户名
String user="root";
//密码
String password="123";
//使用驱动管理器获得代表与数据库连接的 实现类对象。
Connection connection = DriverManager.getConnection(url, user, password);
?
System.out.println(connection);
} catch (SQLException e) {
e.printStackTrace();
}
}
?
@Test
public void testGetConnectionThree(){
try {
/**
* 因为new com.mysql.jdbc.Driver,
* 这个类会static一次
* java.sql.DriverManager.registerDriver(new Driver());
* 所以这里我们用反射,没有new新的Driver,同时也
* 调用了com.mysql.jdbc.Driver的
* java.sql.DriverManager.registerDriver(new Driver());
*/
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
?
//定位数据库
String url="jdbc:mysql://127.0.0.1:3306/db_jdbc";
//用户名
String user="root";
//密码
String password="123";
//使用驱动管理器获得代表与数据库连接的 实现类对象。
try {
Connection connection = DriverManager.getConnection(url, user, password);
?
System.out.println(connection);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
?
}
}
?