データベース・リソース・ファイルの処理クラス
このクラスの役割は、データベースに接続する際の「ハードコーディング」の問題、すなわち駆動クラス、接続文字列、ユーザー名、パスワードなどの情報をリソースファイルで得ることができ、セキュリティを向上させ、コードのメンテナンスを容易にすることにある.
データベースリソースファイルを扱うクラスDBConfig.java
リソースファイルdb.properties
url=jdbc:mysql://localhost:3306/example driver=org.gjt.mm.mysql.Driver username=root password=123654
データベースに接続するコードでは、以下の方法で駆動クラス、url、username、passwordを得ることができます.
P.S.
この3つのファイルの場所に注意してください.同じディレクトリの下に置くことをお勧めします.
データベースリソースファイルを扱うクラス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.
この3つのファイルの場所に注意してください.同じディレクトリの下に置くことをお勧めします.