ResultSet은 SELECT문의 결과를 저장하는 객체입니다.
우선 자바에서 JPA 이런거 안쓰고 직접 가져올때, 크게 몇가지 단계로 나뉜다.
DB는 네트워크 연결의 문제 등에서 에러가 발생할 수 있습니다. 이에 반드시 try-catch 문으로 에러를 잡아 StackTrace를 통해 추후 Exception이 발생한 위치를 정확히 알 수 있도록 합니다.
1. 드라이브 매니저 . getConnetction(커넥션 정보)
ex)
con = DriverManager.getConnection(url, id, pw);
2. Statement 클래스 호출
ex)
stmt = con.createStatement();
Statement 클래스
- SQL 구문을 실행하는 역할
- 스스로는 SQL 구문 이해 못함(구문해석 X) -> 전달역할
- SQL 관리 O + 연결 정보 X
PreparedStatement 클래스
- Statement 클래스의 기능 향상
- 인자와 관련된 작업이 특화(매개변수)
- 코드 안정성 높음. 가독성 높음.
- 코드량이 증가 -> 매개변수를 set해줘야하기 때문에..
- 텍스트 SQL 호출
- 캐시 사용하기에 반복적 -> 성능좋음
- 보안문제에서 이걸 사용해야함.
https://sas-study.tistory.com/160
[JDBC] PreparedStatement 개념 및 예제
Statement 클래스- SQL 구문을 실행하는 역할- 스스로는 SQL 구문 이해 못함(구문해석 X) -> 전달역할- SQL 관리 O + 연결 정보 X PreparedStatement 클래스- Statement 클래스의 기능 향상- 인자와 관련된 작업이
sas-study.tistory.com
3. sql문 작성.
String sql = "SELECT * FROM book";
4. resultSet 객체 사용.
res = stmt.executeQuery(sql);
5. resultSet 에서, getXX("칼럼명" ) 을 활용해서, 하나하나 관리할 수 있음.
혹은 setXX( 물음표 순번 , 넣을 변수 값) ;
ex)
pstmt. setInt(1 , name) ; <<이런식으로 넣으면 됨,.
넣는 방법 :
JAVA - PreparedStatement 사용하기
지난번 오라클 DB에 쿼리를 날리는 방식을 소개할때 Statement를 사용했습니다.자바에서 쿼리를 생성하고 실행하는 방법을 모르시는 분은 아래 글을 참조하시길 바랍니다. 2017/11/08 - [IT/Language] - JAV
cocodo.tistory.com
'TIL' 카테고리의 다른 글
오라클 MERGE문 (0) | 2022.12.16 |
---|---|
[자바] Execute, ExecuteQuery, ExecuteUpdate 차이점 (0) | 2022.12.16 |
면접준비 쪼금만 (0) | 2022.12.02 |
getby vs findby vs existby (0) | 2022.11.25 |
redis란 (0) | 2022.11.21 |