导入的包,可直接跳过,看具体的代码实现
package com.yz.jdbc001;import com.mysql.jdbc.Driver; import
com.sun.org.apache.bcel.internal.generic.DREM; import org.junit.Test;import java.io.FileInputStream; import java.io.FileNotFoundException;
import java.io.IOException; import java.sql.Connection; import
java.sql.DriverManager; import java.sql.SQLException; import
java.util.Properties;
public class Jdbcconc {//连接数据库方法
//方式1
@Test
public void conect1() throws SQLException {
Driver driver = new Driver();
String url = "jdbc:mysql://localhost:3306/db02";
//用properties来保存账号和密码
Properties properties = new Properties();
///user 和password是固定的
properties.setProperty("user","root");
properties.setProperty("password","yz");
Connection connect = driver.connect(url, properties);
System.out.println(connect);//com.mysql.cj.jdbc.ConnectionImpl@1f554b06
}
//方式2:使用反射动态加载Driver类,更加灵活,减少依赖性
@Test
public void connect2() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
Driver driver = (Driver) aClass.newInstance();
String url = "jdbc:mysql://localhost:3306/db02";
//用properties来保存账号和密码
Properties properties = new Properties();
///user 和password是固定的
properties.setProperty("user","root");
properties.setProperty("password","yz");
Connection connect = driver.connect(url, properties);
System.out.println(connect);//com.mysql.cj.jdbc.ConnectionImpl@1f554b06
}
//方式3:使用DriverManager来替换Driver
@Test
public void connect3() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
Driver driver = (Driver) aClass.newInstance();
String url = "jdbc:mysql://localhost:3306/db02";
String user = "root";
String password = "yz";
DriverManager.registerDriver(driver);
Connection connection = DriverManager.getConnection(url, user, password);
System.out.println("第三种方式:" + connection);//第三种方式:com.mysql.cj.jdbc.ConnectionImpl@694e1548
}
//方式4:同方式三,可省略 DriverManager.registerDriver(driver);底层代码已执行
//最常用的以一种连接数据库的方法
@Test
public void connect4() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
Class<?> aClass = Class.forName(“com.mysql.jdbc.Driver”);
Driver driver = (Driver) aClass.newInstance();
String url= “jdbc:mysql://localhost:3306/db02”;
String user = “root”;
String password = “yz”;
Connection connection = DriverManager.getConnection(url, user, password);
System.out.println(connection);//com.mysql.cj.jdbc.ConnectionImpl@1f554b06
}
@Test
public void connect5() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
// Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
// Driver driver = (Driver) aClass.newInstance();
String url= "jdbc:mysql://localhost:3306/db02";
String user = "root";
String password = "yz";
Connection connection = DriverManager.getConnection(url, user, password);
System.out.println(connection); // com.mysql.cj.jdbc.ConnectionImpl@76707e36
}
@Test
public void connect6() throws IOException, ClassNotFoundException, SQLException {
//获取properties对象的信息
Properties properties = new Properties();
properties.load(new FileInputStream("src\\mysql.properties"));
//获取相关的值
String user = properties.getProperty("user");
String password = properties.getProperty("password");
String url = properties.getProperty("url");
String driver = properties.getProperty("driver");
Class.forName(driver);
Connection connection = DriverManager.getConnection(url, user, password);
System.out.println(connection);//com.mysql.cj.jdbc.ConnectionImpl@1f554b06
connection.close();
}
}