Connection 객체 // Properties

Programing/Java 2015. 9. 9. 19:25 by kira-master


package exam;
// @author kosta, 2015. 9. 8 , 오후 7:53:23 , DB_Connection 
import java.io.FileReader;
import java.io.IOException;
import java.net.URLDecoder;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class DB_Connection_auto {
    private static Connection conn;
    private static String driver;
    private static String url;
    private static String username;
    private static String password;
    
    static {
        try {
            propertiesLoad(); // 설정값을 미리 로딩하고 
            Class.forName(driver);
            System.out.println("Log0 : 드라이버 로딩 완료");
            conn = DriverManager.getConnection(url,username,password);
            System.out.println("Log1 : Connection 객체 저장 완료 ");
            System.out.println("연결테스트 :"+conn);
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        } catch (SQLException ex) {
            ex.printStackTrace();
        } 
    }
    
    private DB_Connection_auto() {}
    public static Connection getConn() {
        return conn;
    }
    private static void propertiesLoad() {
        // The java.lang.Class.getResource() finds a resource with a given name
        // Class.getResource() 
        // 주어진 이름의 자원을 찾아내어 해당 클래스의 소스 파일 위치를 상대 경로에 따라서
        // 해당 자원의 URL 객체로 반환  
        // -> 해당 클래스의 상대경로에 있는 자원의 주소값을 가져옴 
        String path = DB_Connection_auto.class.getResource("jdbc.properties").getPath();
        System.out.println("Log Properties file Path :"+ path );
        
        Properties properties = new Properties();   
        try {
            path = URLDecoder.decode(path, "utf-8");
            // Properties 객체에 파일을 읽어와서 Driver 의 값을 가져옴 
            properties.load(new FileReader(path));   
            DB_Connection_auto.driver =  properties.getProperty("driver");
            DB_Connection_auto.url = properties.getProperty("url");
            DB_Connection_auto.username = properties.getProperty("username");
            DB_Connection_auto.password= properties.getProperty("password");
            } catch (IOException ex) {
                ex.printStackTrace();
        }
            
    } // end propertiesLoad()
} // end DB_Connection_auto();


// jdbc.properties
driver=oracle.jdbc.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:xe
username=[id]
password=[password]


'Programing > Java' 카테고리의 다른 글

Enum 분석  (0) 2016.04.11
자바 8 로 오면서 Runnable API 보던중에  (0) 2016.01.23
계산기 예제  (0) 2015.08.27
POJO 의 개념과 예시  (0) 2015.08.24
Singleton 정리  (0) 2015.08.23
Nav