본문 바로가기
Programming/Java * Spring

[Java] 15. JDBC 기본 셋팅 방법

by 고막고막 2019. 5. 14.

1. jar 파일 가져오기

자바 프로젝트 우클릭 → Properties → Java Build Path → Add External Libraries → jar 파일 선택

2. import java.sql.*;

3. 메모리에 오라클 드라이버 객체를 로딩하기

DriverManager 내부에서 사용할 오라클 드라이버 객체를 생성해서 메모리에 로딩한다.(위치: Main 함수 위)

static {	//static 영역을 초기화 해준다
	try {
		Class.forName("oracle.jdbc.driver.OracleDriver");
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	}
}

4. Connection 객체를 생성하기 : 오라클에 접속

try {
	Connection conn = DriverManager.getConnection(
		"jdbc:oracle:thin:@localhost:1521:xe",	//주소
		"bitcamp", 				//DB계정 아이디
		"bitcamp");				//DB계정 패스워드
	} catch (SQLException e) {
		e.printStackTrace();
}

5. Statement 객체를 생성하기 : 오라클과 대화

Statement : 기본
PreparedStatement extends Statement : 속도 향상, 변수전달 편리
CallableStatement extends PreparedStatement : 트리거, 프로시저

(위치: Connection 객체 밑)

//5-0) Statement 객체 생성
Statement stmt = conn.createStatement();
//5-1) 쿼리문을 저장하기 위한 StringBuffer 객체 생성
StringBuffer sb = new StringBuffer();
sb.append("CREATE TABLE test1("+"id VARCHAR2(10), age NUMBER)");
//5-2) stmt를 통해 쿼리문 실행
updateCount = stmt.executeUpdate(sb.toString());
conn.commit();
//5-3) 데이터 넣기
sb.setLength(0);
sb.append("INSERT INTO test1 VALUES ('갱쥐', 0821)");
updateCount = stmt.executeUpdate(sb.toString());

5-2) Create Table 결과
5-3) Insert Into 결과

6. sql문에 결과를 받아오기 위한 ResultSet 객체를 생성한다

//검색하기
sb.setLength(0);
sb.append("SELECT * FROM test1");
ResultSet rs = stmt.executeQuery(sb.toString());
while(rs.next()) {
	System.out.println("id: "+rs.getString(1));
	System.out.println("age: "+rs.getString(2));
}

Select문 실행 결과

7. 종료(순서: ResultSet -> Statement -> Connection)

연결했던 순서의 역순으로 연결을 종료한다.

finally {
	try {
		if(rs!=null) rs.close();
		if(stmt!=null) stmt.close();
		if(conn!=null) conn.close();
	}catch (Exception e) {
		e.printStackTrace();
	}
}