这个类的作用在于帮你解决连接数据库时的"硬编码"问题,即驱动类,连接字符串,用户名,密码这些信息可以通过资源文件来获得,这种做法既增加了安全性,又使代码容易维护.
处理数据库资源文件的类 DBConfig.java
import java.util.Properties;
import java.io.*;
public class DBConfig {
private static Object initLock = new Object();
private static DBConfig dbconfig = null;
private Properties props = null;
public static DBConfig getInstance() {
if (dbconfig == null) {
synchronized (initLock) {
if (dbconfig == null) {
dbconfig = new DBConfig();
}
}
}
return dbconfig;
}
private synchronized void loadProperties() {
props = new Properties();
try {
System.out.println("Load pro file");
InputStream in = getClass().getResourceAsStream("/db.properties");
props.load(in);
} catch (Exception e) {
e.printStackTrace();
}
}
public String getProperty(String propName) {
if (props == null) {
loadProperties();
}
return props.getProperty(propName);
}
}
资源文件 db.properties
url=jdbc:mysql://localhost:3306/example driver=org.gjt.mm.mysql.Driver username=root password=123654 |
在连接数据库的代码中,可以通过以下方式得到驱动类,url,username,password
String driver = DBConfig.getInstance().getProperty("driver");
String url = DBConfig.getInstance().getProperty("url");
String username = DBConfig.getInstance().getProperty("username");
String password = DBConfig.getInstance().getProperty("password");
P.S.
请注意这三个文件的位置,建议放在同一个目录下