PROJECT/커피숍
[토이/자바/JDBC] 커피숍 키오스크 만들기(6) : DB 모듈 구현
관리자ID
2024. 5. 8. 16:51
프로젝트에서 쿼리문을 실행할 때, JDBC API를 통해 Oracle Driver를 로딩하고 닫는 과정이 필요하다. 이러한 과정은 공통적으로 발생하므로 드라이버를 로드하고 연결 객체를 닫아주는 작업을 하나의 공통 모듈로 구현해보았다.
package coffee.pj.comm;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
//DataBase 드라이버 로딩, 접속, 닫기 공통 모듈
public class DataBase {
public DataBase() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}//Oracle Driver 로딩
/**
* RDBMS를 연결하여 접속 객체인 java.sql.Connection을 반환하는 메서드
* 현재 접속중인 계정 : COFFEE
* @return java.sql.Connection
* @throws SQLException
*/
public Connection getConnection() throws SQLException {
Connection conn = null;
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String user = "COFFEE";
String password = "COFFEE";
conn = DriverManager.getConnection(url, user, password);
return conn;
}//RDBMS 연결. 접속 정보 객체 반환.
/**
* 사용되어진 java.sql.* 객체를 닫아주는 메소드
* @param rs java.sql.ResultSet
* @param stmt java.sql.Statement
* @param conn java.sql.Connection
*/
public void closed(ResultSet rs, Statement stmt, Connection conn) {
try {
if(rs != null) {
rs.close();
}
if(stmt != null) {
stmt.close();
}
if(conn != null) {
conn.close();
}
}catch(SQLException e){
System.out.println("sql 객체 닫기 실패");
e.printStackTrace();
}
}//sql 객체 닫기 메서드
}
공통 모듈을 만든 후 JUnit Test를 실행. 성공적으로 잘 작동하는 것을 확인했다.
public class Coffee_TestJUnit {
// @Test //DataBase 공통 모듈 테스트
public void database_Test() {
DataBase db = new DataBase();
Connection conn = null;
try {
db.getConnection();
System.out.println("드라이버 로딩 완료");
} catch (SQLException e) {
System.out.println("드라이버 로딩 실패");
e.printStackTrace();
}
db.closed(null, null, conn);
assertNull(conn);
}