반응형
DriverManager
데이터 원본에 JDBC 드라이버를 통하여 커넥션을 만드는 역할
Class.forName() 메소드를 통해 생성되며 반드시 예외처리를 해야 함
직접 인스턴스 생성이 불가능하고 getConnection() 메소드를 사용하여 인스턴스 생성 가능
Driver 등록하는 방법을 코드로 알아보자.
1. 리터럴하게 전달하는 방법
Connection con = null;
try {
/* 사용할 드라이버 등록 */
Class.forName("oracle.jdbc.driver.OracleDriver");
/* DriverManager를 이용해 Connection 생성 */
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe"
, "C##EMPLOYEE", "EMPLOYEE");
System.out.println(con);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
2. 변수를 이용해 작성한 문자열이 어떤 의미인지 알 수 있도록 개선
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String user = "C##EMPLOYEE";
String password = "EMPLOYEE";
Connection conn = null;
try {
/* 사용할 드라이버 등록 */
Class.forName(driver);
/* DriverManager를 이용해 Connection 생성 */
conn = DriverManager.getConnection(url, user, password);
System.out.println(conn);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
3. .properties 파일에서 설정정보 읽어와 접속하는 코드로 개선
Properties prop = new Properties();
Connection conn = null;
try {
prop.load(new FileReader("파일경로/파일명.properties"));
String driver = prop.getProperty("driver");
String url = prop.getProperty("url");
String user = prop.getProperty("user");
String password = prop.getProperty("password");
/* 사용할 드라이버 등록 */
Class.forName(driver);
/* DriverManager를 이용해 Connection 생성 */
conn = DriverManager.getConnection(url, user, password);
System.out.println(conn);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
프로퍼티 파일안에 작성된 내용
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:xe
user=C##EMPLOYEE
password=EMPLOYEE
반응형
'백엔드 과정 > jdbc' 카테고리의 다른 글
[JDBC] 연습문제1. DB테이블에서 같은 성을 가진 사원 정보 조회하기 (0) | 2022.02.03 |
---|---|
[JDBC] PreparedStatement (0) | 2022.02.03 |
[JDBC] Statement / ResultSet (0) | 2022.02.03 |
[JDBC] Connection 생성하기 (0) | 2022.02.03 |
[JDBC] 개발환경 구축 (0) | 2022.02.03 |