2/25(목) JDBC(5)
1. Properties 복습
: Map 계열의 컬렉션(key + value 세트로 담는)
- Key값도 String, Value 값도 String인 특징
- Properties에 담겨있는 것들을 파일로 출력을 한다거나
- 파일에 있는 데이터들을 Properties 입력 받아올 수 있는 즉, 파일과 입출력할 수 있는 메소드를 제공!
package run;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class Run {
public static void main(String[] args) {
/*
* CRUD 구현(C-Insert, R-Select, U-Update, D-Delete)
*/
Properties prop = new Properties();
// setProperty 메소드(key, value를 세팅하는 메소드)
// Map의 특징 : 순서 유지 되지 않는다.
prop.setProperty("C", "Insert");
prop.setProperty("R", "Select");
prop.setProperty("U", "Update");
prop.setProperty("D", "Delete");
System.out.println(prop);
// getProperty 메소드 (proeprty 불러오겠다)
System.out.println(prop.getProperty("R"));
System.out.println(prop.getProperty("C"));
try {
<prop 내용 담은 파일 생성하겠다.>
<test.properties 파일 생성>
prop.store(new FileOutputStream("test.properties"), "test properties");
<test.xml 파일 생성>
prop.storeToXML(new FileOutputStream("test.xml"), "test properties");
<prop 내용 담은 파일 불러오겠다>
prop.load(new FileInputStream("test.properties"));
prop.loadFromXML(new FileInputStream("test.xml"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Properties를 이용해 JDBCTemplate 파일을 따로 구성해서 전체 파일 구동의 흐름을 끊지 않고 JDBCTemplate 파일만을 유지보수하여 파일서비스가 끊기지 않게 함
(1) XML 파일 구성
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>test properties</comment>
<entry key="selectList">
SELECT *
FROM MEMBER
ORDER BY USERNAME
</entry>
<entry key="updateMemeber">
UPDATE MEMBER
SET UESRPWD = ?
, EMAIL = ?
WHERE USERID = ?
</entry>
<entry key="delete">
DELETE FROM MEMBER
WHERE USERID = ?
</entry>
<entry key="C">Insert</entry>
</properties>
(2) Properties 파일 구성
#db information
driver = oracle.jdbc.driver.OracleDriver
url = jdbc:oracle:thin:@localhost:1521:xe
username = JDBC
password = JDBC
(3) JAVA mainMethod 구성
: Properties - mainMethod 연결
package run;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.InvalidPropertiesFormatException;
import java.util.Properties;
public class Run {
public static void main(String[] args) {
Properties prop1 = new Properties();
try {
prop1.load(new FileInputStream("test.properties"));
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(prop1.getProperty("driver"));
System.out.println(prop1.getProperty("url"));
System.out.println(prop1.getProperty("username"));
System.out.println(prop1.getProperty("password"));
}
}
Properties - mainMethod 연결
package run;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.InvalidPropertiesFormatException;
import java.util.Properties;
public class Run {
public static void main(String[] args) {
Properties prop2 = new Properties();
try {
prop2.loadFromXML(new FileInputStream("test.xml"));
} catch (InvalidPropertiesFormatException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(prop2.getProperty("selectList"));
System.out.println(prop2.getProperty("updateMember"));
System.out.println(prop2.getProperty("deleteMember"));
}
<Properties 출력결과>
<XML 출력결과>
Author And Source
이 문제에 관하여(2/25(목) JDBC(5)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@alsrnr45/225목-JDBC5저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)