JDBC Statement 내용
< JDBC 용 객체 >
- Connection : DB 연결정보를 담아서 DB 에 연결시켜 주는 역할
conn = DriverManager.getConnection("oracle:jdbc:thin:@localhost:1521:xe", 계정명, 비밀번호);
- Statement : SQL 문을 매개변수로 보내서 실행하고 결과를 받아 주는 역할
stmt = conn.createStatement();
> SELECT : rset = stmt.executeQuery(sql);
> INSERT, UPDATE, DELETE : int(처리된행의갯수) = stmt.executeUpdate(sql);
- ResultSet : SELECT 문의 실행 결과가 담겨 있는 객체
후처리
case1 : 한 개의 행으로 조회되는 경우 => VO 한개로 가공 if(rset.next())
case2 : 여러 개의 행으로 조회되는 경우 => VO 한개로 가공하고 list 에 차곡차곡 담기
while(rset.next())
> 컬럼에 들은 값 뽑기 : rset.getInt / rset.getString / rset.getDate (컬럼명/컬럼순번)
컬럼 순번보다 컬럼명을 적기를 권장/협업 및 가독성의 이유로 컬럼명으로 대문자로 적는 거 잊지 말기!
< JDBC 처리 순서 >
0) 필요한 변수 먼저 세팅
=> Connection, Statement, ResultSet, .. + 필요한 SQL 문을 String 변수로 세팅
1) JDBC Driver 등록
Class.forName("oracle.jdbc.driver.OracleDriver");
2) Connection 객체 생성
3) Statement 객체 생성
4, 5) SQL 문 전달하면서 실행 후 결과 받기
6_1) SELECT 문의 경우 : ResultSet 의 내용을 VO 객체로 가공하기
6_2) INSERT, UPDATE, DELETE 문의 경우 : 트랜잭션 처리
7) 자원 반납 : 생성 순서의 역순
8) 결과 반환 (Controller 한테)