: Map 계열의 컬렉션(key + value 세트로 담는)
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 파일만을 유지보수하여 파일서비스가 끊기지 않게 함
<?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>
#db information
driver = oracle.jdbc.driver.OracleDriver
url = jdbc:oracle:thin:@localhost:1521:xe
username = JDBC
password = JDBC
: 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 출력결과>
