[JAVA] JDBC (Statement, PreparedStatement, ResultSet)

gyeol·2023년 7월 6일
0

자바

목록 보기
11/12
post-thumbnail

🔹JDBC

JDBC :
Java DataBase Connectivity의 약자로 자바 / JSP 프로그램 내에서 DB와 관련된 작업을 처리할 수 있도록 도와주는 자바 표준 인터페이스이다.

JDBC API를 사용하면 DBMS 종류의 관계없이 DB 작업 처리가 가능하다.

JDBC 사용한 JSP와 DB 연동

  1. java.sql.* 임포트하기
  2. JDBC 드라이버 로딩
  3. DB 접속 위한 Connection 객체 생성
  4. 쿼리문 실행 위한 Statement / PreparedStatement 객체 생성
  5. 쿼리 실행
  6. 쿼리 실행 결과값(int, ResultSet) 사용
  7. 사용된 객체 close 하기

🔹Statement 객체

주로 정적인 쿼리에 사용
하나의 쿼리 사용후 재사용이 불가능하며, close 필수이다.

메소드 반환 유형 설명
executeQuery(String sql) ResultSet SELECT 문을 실행할 때 사용
executeUpdate(String sql) int 삽입, 수정, 삭제와 관련된 SQL문 실행에 사용
close() void Statement 객체 반환 시 사용

🔹PreparedStement 객체

Prepared 객체는 동적인 쿼리에 사용
하나의 객체로 여러 번의 쿼리를 실행할 수 있다.
동일한 쿼리문을 특정값만 바꿔 처리해야할 때, 매개변수가 많아서 쿼리문을 정리해야할 때 유용하다.

메소드 반환 유형 설명
executeQuery(String sql) ResultSet SELECT 문을 실행할 때 사용
executeUpdate(String sql) int 삽입, 수정, 삭제와 관련된 SQL문 실행에 사용
close() void Statement 객체 반환 시 사용

setXXX() 메소드 종류💻

메소드 반환 유형 설명
setString(int paremeterIndex, String x) void 필드 유형 문자열인 경우
setInt(int paremeterIndex, int x) void 필드 유형 정수형인 경우
setString(int paremeterIndex, String x) void 필드 유형 문자열인 경우
setLong(int paremeterIndex, long x) void 필드 유형 정수형인 경우
setDouble(int paremeterIndex, double x) void 필드 유형 실수형인 경우
setFloat(int paremeterIndex, float x) void 필드 유형 실수형인 경우
setObject(int paremeterIndex, Object x) void 필드 유형 객체형인 경우
setDate(int paremeterIndex, Date x) void 필드 유형 날짜형인 경우
setTimestamp(int paremeterIndex, Timestamp x) void 필드 유형 시간형인 경우

🔹ResultSet 객체

Statement 또는 PreparedStement 객체로 SELECT문 사용해 얻어진 레코드 값을 테이블 형태로 가진 객체

메소드 반환 유형 설명
executeQuery(String sql) ResultSet SELECT 문을 실행할 때 사용
executeUpdate(String sql) int 삽입, 수정, 삭제와 관련된 SQL문 실행에 사용
close() void Statement 객체 반환 시 사용

ResultSet 객체 메소드 종류

메소드 반환 유형 설명
getXxx(int ColumnIndex) Xxx 설정한 ColumnIndex의 필드값을 Xxx형으로 가져온다.
getXxx(String ColumnName) Xxx 설정한 ColumnName의 필드값을 설정한 Xxx형으로 가져온다.
absolute(int row) boolean 설정한 row 행으로 커서 이동한다.
beforeFirst() void 첫 번째 행의 이전으로 커서를 이동한다.
afterLast() void 마지막 행 다음으로 커서를 이동한다.
first() void 첫 번째 행으로 커서를 이동한다.
last() void 마지막 행으로 커서를 이동한다.
next() boolean 다음 행으로 커서를 이동한다.
previous() boolean 현재 행의 이전 행으로 커서를 이동한다.
close() : void ResultSet 객체를 반환할 때 사용한다.
profile
코딩 공부 기록중 '◡'

0개의 댓글