DB 연동을 편리하게 하기위해 Class로 선언
DBConn클래스
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConn {
// Connection 타입의 전역변수 dbConn 선언
private static Connection dbConn;
// 메소드 정의
public static Connection getConnection() throws ClassNotFoundException, SQLException {
// 한 번 연결된 객체를 계속 사용
// 즉, 연결되지 않은 경우에만 연결을 시도하겠다는 의미
// → 싱글톤(디자인 패턴)
if (dbConn == null) {
String url = "jdbc:oracle:thin:@localhost:1521:xe";
//-- 『localhost』 는 오라클 서버의 ip 주소를 기재하는 부분(로컬아니면 ip번호 입력)
// 『1521』 은 오라클 리스너 Port Number(다른 포트번호 할 수 도 있다)
// 『xe』 는 오라클 SID(Express Edition 의 SID는 xe)
String user = "scott";
//-- 오라클 사용자 계정 이름
String pwd = "tiger";
//-- 오라클 사용자 계정 암호
Class.forName("oracle.jdbc.driver.OracleDriver");
//-- OrcleDriver 클래스에 대한 객체 생성
dbConn = DriverManager.getConnection(url, user, pwd);
//-- 오라클 서버 실제 연결
// 인자값(매개변수)은 오라클주소, 계정명, 패스워드
}
return dbConn;
//-- 구성된 연결 객체 반환
}
// getConnection() 메소드의 오버로딩
public static Connection getConnection(String url, String user, String pwd) throws ClassNotFoundException, SQLException {
if (dbConn == null) {
Class.forName("oracle.jdbc.driver.OracleDriver");
dbConn = DriverManager.getConnection(url, user, pwd);
}
return dbConn;
}
// 메소드 정의 → 연결 종료
public static void close() throws SQLException {
// dbConn 변수(멤버 변수)는
// Database 가 연결된 상태일 경우 Connection을 갖는다.
// 연결되지 않은 상태라면 null 인 상태
if (dbConn != null) {
// 연결 객체(dbConn)의 isClosed() 메소드를 통해 연결 상태 확인
//-- 연결이 닫혀있는 경우 true 반환
// 연결이 닫혀있지 않은 경우 false 반환
if (!dbConn.isClosed()) {
dbConn.close();
//-- 연결 객체의 close() 메소드 호출을 통해 연결 종료~!!!
}
}
dbConn = null;
//-- 연결 객체 초기화
}
}
같은 기능의 클래스를 try~catch로 처리
import java.sql.Connection;
import java.sql.DriverManager;
public class DBConn{
private static Connection dbConn;
public static Connection getConnection(){
if (dbConn == null){
try{
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String user = "scott";
String pwd = "tiger";
Class.forName("oracle.jdbc.driver.OracleDriver");
dbConn = DriverManager.getConnection(url, user, pwd);
} catch (Exception e){
System.out.println(e.toString());
}
}
return dbConn;
}
public static Connection getConnection(String url, String user, String pwd){
if (dbConn == null){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
dbConn = DriverManager.getConnection(url, user, pwd);
} catch (Exception e){
System.out.println(e.toString());
}
}
return dbConn;
}
public static void close(){
if (dbConn != null){
try{
if (!dbConn.isClosed())
dbConn.close();
} catch (Exception e){
System.out.println(e.toString());
}
}
dbConn = null;
}
}
부족하거나 잘못된 내용이 있을 경우 댓글 달아주시면 감사하겠습니다.
이 글에 부족한 부분이 존재할 경우 추후에 수정될 수 있습니다.