database.properties
コードコピーは次のとおりです。
jdbc.driver_class = oracle.jdbc.driver.oracledriver
jdbc.connection.url = jdbc:oracle:thin:@localhost:1521:orcl
jdbc.connection.username = scott
jdbc.connection.password = tiger
configmanager.java
コードコピーは次のとおりです。
java.io.ioexceptionをインポートします。
java.io.inputStreamをインポートします。
java.util.propertiesをインポートします。
//構成ファイル(プロパティファイル)を読み取るためのツール
パブリッククラスconfigmanager {
プライベートStatic ConfigManager configManager;
// properties.load(inputstream);
プライベート静的プロパティプロパティ。
//ツールクラスを構築するときに構成ファイルを読み取ります
private configmanager(){
string configfile = "database.properties";
プロパティ= new Properties();
inputstream is = configmanager.class.getClassLoader()
.getResourceasStream(configFile);
試す {
//構成ファイルを読み取ります
properties.load(is);
is.close();
} catch(ioException e){
e.printstacktrace();
}
}
// Singletonモードを使用してインスタンス番号を設定します
public static configmanager getInstance(){
if(configmanager == null){
configManager = new ConfigManager();
}
ConfigManagerを返します。
}
//キーを介して対応する値を取得します
public string getString(string key){
return properties.getProperty(key);
}
}
Basedao.java
コードコピーは次のとおりです。
Java.sql.Connectionをインポートします。
Java.sql.drivermanagerをインポートします。
Java.sql.preparedStatementをインポートします。
java.sql.resultsetをインポートします。
java.sql.sqlexceptionをインポートします。
java.sql.Statementをインポートします。
com.book.util.configmanagerをインポートします。
//基本クラス:データベース操作の一般クラス
パブリッククラスBasedao {
保護された接続conn;
Protected PredStatement PS;
保護されたステートメントstmt;
保護された結果rs;
//データベース接続を取得します
public boolean getConnection(){
// //構成情報を読み取ります
string driver = configmanager.getInstance()。getString(
"JDBC.DRIVER_CLASS");
string url = configmanager.getInstance()。getString(
"jdbc.connection.url");
string username = configmanager.getInstance()。getString(
"JDBC.Connection.Username");
文字列パスワード= configmanager.getInstance()。getString(
"JDBC.Connection.PassWord");
// JDBCドライバーをロードします
試す {
class.forname(ドライバー);
//データベースとの接続を確立します
conn = drivermanager.getConnection(url、username、password);
} catch(classNotFoundException e){
falseを返します。
} catch(sqlexception e){
falseを返します。
}
trueを返します。
}
//追加、削除、変更の一般的な方法
public int executeUpdate(string sql、object [] params){
int updaterows = 0;
getConnection();
試す {
ps = conn.preparestatement(sql);
//プレースホルダーに記入します
for(int i = 0; i <params.length; i ++){
ps.setObject(i + 1、params [i]);
System.out.println(i + 1 + "---" + params [i]);
}
System.out.println(SQL);
updaterows = ps.executeupdate();
} catch(sqlexception e){
e.printstacktrace();
}
アップデートを返します。
}
//クエリ
public resultset executesql(string sql、object [] params){
getConnection();
試す {
ps = conn.preparestatement(sql);
//プレースホルダーに記入します
for(int i = 0; i <params.length; i ++){
ps.setObject(i + 1、params [i]);
}
rs = ps.executequery();
} catch(sqlexception e){
e.printstacktrace();
}
Rsを返します。
}
//リソースを閉じます
public void closeall(){
試す {
if(rs!= null){
rs.close();
}
if(stmt!= null){
stmt.close();
}
if(ps!= null){
ps.close();
}
if(conn!= null){
conn.close();
}
} catch(sqlexception e){
e.printstacktrace();
}
}
}