在对于jdbc连接数据库的工具类JDBCUtil进行整合后,仍然需要将四个参数进行提取,这样可以在需要修改时直接对文件进行操作,而不用改动代码。因此我们在工程的根文件目录下新建jdbc.properties,文件中的内容类似于Map键值对
jdbc.properties
driverclass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/student
username=root
password=123456
既然将参数分离了,那么工具类如何进行读取文件呢?
在jdbc的工具类JDBCUtil.java中,我们使用的static静态代码块。用代码验证静态代码块随着类的加载而执行,且执行一次,它的执行顺序也是先于main函数执行。
private static String DRIVERCLASS = null;
private static String URI = null;
private static String USERNAME = null;
private static String PASSWORD = null;
static {
try {
// 1.创建一个属性配置对象
Properties properties = new Properties();
// 导入输入流
InputStream is = new FileInputStream("jdbc.properties");
//InputStream is=JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
//load() 这个方法可以从.properties属性文件 对应的文件输入流中,加载属性列表到Properties类对象。
properties.load(is);
// 读取属性
DRIVERCLASS = properties.getProperty("DRIVERCLASS");
URI = properties.getProperty("URI");
USERNAME = properties.getProperty("USERNAME");
PASSWORD = properties.getProperty("PASSWORD");
} catch (IOException e) {
e.printStackTrace();
}
}
通过以上代码就可以读取properties属性文件的属性列表