主要讲通过 DriverManager 连接
DriverManager 是驱动的管理类.
1). 可以通过重载的 getConnection() 方法获取数据库连接. 较为方便
2). 可以同时管理多个驱动程序: 若注册了多个数据库连接, 则调用 getConnection()
方法时传入的参数不同, 即返回不同的数据库连接。
//1. 准备连接数据库的 4 个字符串. //驱动的全类名. String driverClass = "com.mysql.jdbc.Driver"; //JDBC URL String jdbcUrl = "jdbc:mysql:///test"; //user String user = "root"; //password String password = "1230"; //2. 加载数据库驱动程序(对应的 Driver 实现类中有注册驱动的静态代码块.) Class.forName(driverClass); //3. 通过 DriverManager 的 getConnection() 方法获取数据库连接. Connection connection = DriverManager.getConnection(jdbcUrl, user, password); System.out.println(connection);
进一步进行封装 1)参数提取到文件中
2)封装到方法里
注意:
1). 属性文件对应 Java 中的 Properties 类
2). 可以使用类加载器加载 bin 目录(类路径下)的文件
public Connection getConnection() throws Exception{ //1. 准备连接数据库的 4 个字符串. //1). 创建 Properties 对象 Properties properties = new Properties(); //2). 获取 jdbc.properties 对应的输入流, src / 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 DriverManager.getConnection(jdbcUrl, user, password); }
src / jdbc.properties
#driver=oracle.jdbc.driver.OracleDriver
#jdbcUrl=jdbc:oracle:thin:@localhost:1521:orcl
#user=scott
#password=java
driver=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/atguigu
user=root
password=1230