package day_18;

import org.junit.Test;

import java.io.InputStream;
import java.sql.*;
import java.sql.DriverManager;
import java.util.Properties;
/*
CTRL+右击 在某个类名或者方法上即可打开其对应的API文档!
*/
/** DriverManager 是驱动的管理类,比直接使用driver更加方便
* my.sql.Driver 应用程序不再需要使用Class.forName()显式加载JDBC驱动程序。
* 目前使用加载JDBC驱动程序的现有程序Class.forName(driverClass)将不执行任何工作。
* 当调用方法getConnection时,
* DriverManager将尝试从初始化中加载的驱动程序中找到合适的驱动程序,
* 并使用与当前小程序或应用程序相同的类加载器显式加载驱动程序。
* 代码,一步到位:
* Connection connection=DriverManager.getConnection(jdbcUrl,user,password);
*
*/
public class testDriverManager {
@Test
public void test1() throws Exception{
//1.准备数据库的连接的4个字符串
String driverClass=null,jdbcUrl=null,user=null,password=null;
//jdbc:mysql:///books ;也可以将localhost省略掉!
//2.读取类路径下的jdbc.properties 文件
InputStream in=
getClass().getClassLoader().getResourceAsStream("jdbc.properties");
Properties properties =new Properties();
properties.load(in);
driverClass =properties.getProperty("driver");
jdbcUrl=properties.getProperty("jdbcUrl");
user = properties.getProperty("user");
password = properties.getProperty("password");
//3.加载数据库驱动程序(注册驱动),driver对应的实现类中有注册驱动的静态代码块
// Class.forName(driverClass); //
//或这么手动加载,也可以注册多个数据库连接的代码块
//DriverManager.registerDriver( Class.forName(driverClass).newInstance()); //4.通过DriverManager 的getConnection()方法获取数据库连接。
Connection connection=DriverManager.getConnection(jdbcUrl,user,password);
System.out.print(connection); //com.mysql.jdbc.JDBC4Connection@19e1023e }
}
05-11 20:15