JDBC通过DriverManager获取数据库连接

一 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); } }

【JDBC通过DriverManager获取数据库连接】成功连接数据库:
JDBC通过DriverManager获取数据库连接
文章图片

二 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()); } }

配置文提供给大家:
JDBC通过DriverManager获取数据库连接
文章图片

成功连接数据库:
JDBC通过DriverManager获取数据库连接
文章图片

相比较Driver连接数据库,我更推荐大家用DriverManager去连接数据库,因为:
DriverManager可以通过重载getConnection(url, user, password)方法获取数据库连接,简单方便
DriverManager可以同时管理多个驱动程序:若注册了多个数据库连接,则用getConnection(url, user, password)方法穿入的参数不同,能返回不同的数据库的连接

    推荐阅读