자바 jdbc
JDBC란?
- 자바에서 데이터베이스를 사용하기 위한 절차에 대한 규약을 의미한다.
- DBMS에 따라 DB를 다루는 방식이 다르다면, 사용자는 알아야 할 것이 매우 많을 것임
- 그래서 JDBC를 통해 추상화된 인터페이스를 제공하기만 하고, 각 벤더들( Oracle, Mysql 등.. )은 각자의 DBMS에 맞게 구현을 해놓은 상태이다.
- 따라서, JDBC는 인터페이스를 제공하기 때문에 어떤 종류의 DB(벤더)를 사용하든지 사용하는 방법에는 변함이 없는 것이다.
JDBC API 클래스
- 데이터베이스를 연결하여 테이블 형태의 자료를 참조
- SQL 문을 질의
- SQL 문의 결과를 처리
- JDBC를 이용한 데이터베이스 연동과정
드라이버를 로드 → 그에 따른 Connection 객체를 생성 → 이때 커넥션 객체를 통해 쿼리를 날리는 Statement를 작성할 수 있다.
만약에 테이블 형태의 결과를 반환하는 쿼리문들은 Statement의 executeQuery() 메서드를 사용한다. → 예) select * from student; 모든 학생 정보를 불러오는 테이블 조회를 한다면 결과는 테이블의 형태일 것이다 → 이와 같은 테이블 형태로 결과를 반환할 때 반환형은 ResultSet 인터페이스다.
ResultSet 인터페이스에는 현재 행을 가리키는 커서(Cursor)의 개념이 있다. 이 커서를 다음으로 이동시키는 메서드가 next()다.
INSERT는 일반적으로 동적으로 값이 할당되므로 createStatement()를 호출하지 않고, 쿼리를 준비하는 statement라는 의미로 prepareStatement() 메서드를 호출한다. → 값이 할당되면 executeUpdate() 메서드를 실행해서 값을 삽입할 수 있다.
정리
- 쿼리를 수행할 때 동적으로 할당해야 하는 값이 있으면 PreparedStatement 객체를 사용하고, 동적으로 할당할 필요가 없으면 Statement 객체를 사용한다.
- 쿼리의 결과가 있으면 executeQuery() 메서드를 호출하여 ResultSet 객체에 담고, 쿼리의 결과가 없으면 executeUpdate() 메서드를 호출하여 int형 변수에 결과 값을 할당한다.
- 정적 : 단순 조회
- 동적 : 값을 삽입, 삭제, 수정 등등
'CS자료 > 데이터베이스' 카테고리의 다른 글
[DB] 샤딩 (0) | 2022.03.19 |
---|---|
[DB] Replication (0) | 2022.03.19 |
[DB] ORM (0) | 2022.03.19 |
[DB] Database and FileSystem (0) | 2022.03.19 |
[DB] Database Pool (0) | 2022.03.19 |