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 = 호랑이
configmanager.java
코드 사본은 다음과 같습니다.
import java.io.ioexception;
import java.io.inputstream;
java.util.properties import;
// 구성 파일을 읽는 도구 (Properties Files)
공개 클래스 configmanager {
개인 정적 구성 관리자 configmanager;
// properties.load (inputStream);
개인 정적 특성 특성;
// 도구 클래스를 구성 할 때 구성 파일을 읽습니다
private configmanager () {
문자열 configfile = "database.properties";
속성 = 새로운 속성 ();
inputStream은 = configmanager.class.getClassLoader ()
.getResourCeasStream (configfile);
노력하다 {
// 구성 파일을 읽습니다
속성 .LOAD (IS);
is.close ();
} catch (ioexception e) {
e.printstacktrace ();
}
}
// 싱글 톤 모드를 통해 인스턴스화 번호를 설정합니다
public static configmanager getInstance () {
if (configmanager == null) {
configManager = 새 configManager ();
}
configmanager를 반환합니다.
}
// 키를 통해 해당 값을 얻습니다
공개 문자열 getstring (문자열 키) {
return properties.getProperty (키);
}
}
Rasedao.java
코드 사본은 다음과 같습니다.
java.sql.connection 가져 오기;
Java.SQL.DriverManager 가져 오기;
Java.sql.preparedStatement import;
java.sql.resultset import;
java.sql.sqlexception 가져 오기;
java.sql.statement import;
import com.book.util.configmanager;
// 기본 클래스 : 데이터베이스 작업을위한 일반 클래스
공개 클래스 기반 {
보호 된 연결 연결;
보호 된 준비된 상태 PS;
보호 된 진술 stmt;
보호 결과 세트 Rs;
// 데이터베이스 연결을 가져옵니다
공개 부울 getConnection () {
// // 구성 정보 읽기
문자열 드라이버 = configmanager.getInstance (). getString (
"jdbc.driver_class");
문자열 URL = configManager.getInstance (). getString (
"jdbc.connection.url");
문자열 username = configmanager.getInstance (). getString (
"jdbc.connection.username");
문자열 암호 = configmanager.getInstance (). getString (
"jdbc.connection.password");
// JDBC 드라이버를로드합니다
노력하다 {
class.forname (드라이버);
// 데이터베이스와 연결을 설정합니다
conn = drivermanager.getConnection (URL, 사용자 이름, 비밀번호);
} catch (classNotFoundException e) {
거짓을 반환합니다.
} catch (sqlexception e) {
거짓을 반환합니다.
}
진실을 반환하십시오.
}
// 추가, 삭제 및 수정을위한 일반적인 방법
public int executeUpdate (문자열 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 ();
}
}
}