자바 74) 게스트 방명록 DBConn

hahahoho셍·2021년 5월 15일
0

자바 공부

목록 보기
75/97
package ex11_guest;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBConn {
	//싱글톤패턴 : 인스턴스(객체)를 하나만 생성해서 재사용 (파이널리에서 conn 크로즈 하면 안댐)
	private static Connection conn = null; //지역변수 이므로 항상 널 상태가 되므로 스테틱으로
	//프로그램 종료까지 연결 유지
	public static Connection getConn() {
		//컨넥션을 리턴하는 메소드
		String url = "jdbc:oracle:thin:@localhost:1521:xe";
		String user = "hr";
		String password = "hr";
		
		try {
			//만약 컨넥션 객체가 널이거나 컨넥션이 끊어졌다면 
			if (conn == null || conn.isClosed()) {  //널 또는 클로즈면 (순서대로이므로 널을 먼저)
				//드라이버 로딩
				Class.forName("oracle.jdbc.driver.OracleDriver");
				//컨넥션 객체 생성
				conn = DriverManager.getConnection(url, user, password);	
			}
		} catch (ClassNotFoundException e) {
			System.out.println("드라이버 로딩 실패");
			e.printStackTrace();
		} catch (SQLException e) {
			System.out.println("컨넥션 실패");
			e.printStackTrace();
		}
		
		return conn;
	}
	
	//컨넥션 접속 해재
	public static void dbClose() {
		try {
			//conn이 널이 아니고 클로즈가 아니라면
			if (conn != null && !conn.isClosed()) {
				conn.close();
				System.out.println("DB연결해제");
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
		
	
	
	
	


	
}
profile
그냥 공부 한거 적는 벨로그 하하하핳ㅎ하하하핳하ㅏ

0개의 댓글

관련 채용 정보