一.连接数据库的基本步骤
- 导入jdbc的jar包
- 加载Driver类,目的是执行Driver类的静态代码块
- 通过DriverManager获取数据库连接
- 关闭连接
例子:
@Test
public void test01() throws Exception{
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/myemployees?userSSL=false";
String user = "root";
String password = "123456";//数据库的密码
//1.加载Driver类
Class.forName("com.mysql.jdbc.Driver");
//2.通过DriverManager获得数据库连接
conn = DriverManager.getConnection(url, user, password);
//3.使用数据库连接对象与数据库进行交互
System.out.println(conn);
//4.关闭连接
conn.close();
}
分析: 连接数据库的基本步骤大都差不多,但是不同的数据库之间的驱动包也是不同的,有时连接的url,user,password也不同,所以上面的连接配置参数是已经被写死了。那么如何动态获取参数来连接数据库呢?
二.动态获取数据库连接的参数
根据上面的分析,我们只需动态获取驱动包classDriver、连接路径url、数据库用户名user、数据库密码password即可。我们将参数提取到properties文件中。
在src文件夹里面新建一个File,名为info.properties,后缀名一般用properties,这样我们就可以在这个文件中写连接时的参数,假如这些参数需要改动,那么我们只需要新建另一个properties文件并输入新的参数即可。
例子:
info.properties
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/myemployees?useSSL=false
user=root
password=123456
TestJDBC01.java
@Test
public void test02() throws IOException {
//1.读取配置文件中的参数
Properties info = new Properties();
//使用当前自定义类的类加载器去类路径下加载info.properties文件并转换为输入流
InputStream is = TestJDBC01.class
.getClassLoader()
.getResourceAsStream("info.properties");
info.load(is);
String driverClass = info.getProperty("driverClass");
String url = info.getProperty("url");
String user = info.getProperty("user");
String password = info.getProperty("password");
System.out.println("driverClass:" + driverClass);
System.out.println("url:" + url);
System.out.println("user:" + user);
System.out.println("password:" + password);
}
这样就可以根据不同的配置文件获取不同的参数方案。