티스토리 뷰

반응형

데이터베이스 프로그래밍 3요소

  • DBMS: 데이터베이스 관리 시스템
  • 데이터베이스: 데이터를 저장할 공간
  • DBMS 클라이언트: 데이터베이스를 사용하는 어플리케이션

Transaction 관리를 위해 InnoDB 를 이용한다

JDBC 실행

  1. JDBC 드라이버 로딩
  2. 데이터베이스 커넥션 수행
  3. 쿼리 실행을 위한 Statement 객체 생성
  4. 쿼리 실행
  5. 쿼리 실행 결과 사용
  6. Statement 종료
  7. 데이터베이스 커넥션 종료

jdbc 드라이버는 DBMS의 통신을 담당하는 자바 클래스로써, DBMS 마자 별도의 JDBC 통신이 필요하다.

  1. JDBC 드라이버 로딩 ( 맨 처음 한 번만 로딩하면 된다. )
class.forName("JDBC 드라이버 클래스의 완전한 이름")
  1. 데이터베이스 커넥션 수행
DriverManager.getConnection(String jdbcURL, String user, String password)
  1. 쿼리 실행을 위한 Statement 객체 생성
Statement stmt = conn.createStatement();

ResultSet executeQuery(String query);// select 쿼리 실행
int executeUpdate(String query); // insert, update, delete 쿼리 실행
  1. 쿼리 실행
  2. 쿼리 실행 결과 사용
  3. Statement 종료
  4. 데이터베이스 커넥션 종료

Statement vs PreparedStatement

Statement

  1. 단일로 사용될 때 빠른 속도를 지닙니다.
  2. 쿼리에 인자를 부여할 수 없습니다.
  3. 매번 컴파일을 수행해야 합니다.

PreparedStatement

  1. 쿼리에 인자를 부여할 수 있습니다.
  2. 처음 프리컴파일 된 후, 이후에는 컴파일을 수행하지 않습니다.
  3. 여러번 수행될 때 빠른 속도를 지닙니다.
  4. 값 변환 자동화 및 간결한 코드

https://mozi.tistory.com/29 를 보면, 자세한 예시를 확인 가능합니다.

jdbc 트랜잭션

트랜잭션은 시작과 종료를 가지고 있다.트랜잭션이 시작되면, 이후로 실행되는 쿼리 결과는 DBMS 에 곧바로 반영되지 않고 임시로 보관된다. 이후 트랜잭션을 커밋하면 임시 보관한 모든 쿼리 결과를 실제 데이터에 반영한다.

  • JDBC 오토커밋을 FALSE 로 한다.
  • JTA(Java Transaction API)를 이용한다.

커넥션 풀

커넥션 풀기법이란 데이터베이스와 연결된 커넥션을 미리 만들어서 풀 속에 저장해 두고 있다가 필요할 때에 커넥션 풀에서 가져다쓰고 다시 풀에 반환하는 것이다.

  1. 커넥션 연결 시간을 단축시킬 수 있다.
  2. 일정 수의 커넥션을 일정하게 유지한다.( 커넥션을 계속해서 재사용 -> 트래픽이 몰려도 웹이 쉽게 다운되지 않게 함)

전체적인 웹의 성능과 처리량이 향상된다.

예) DBCP API

반응형

'스프링, 자바' 카테고리의 다른 글

MVC 패턴 구현 요약  (0) 2021.01.26
자바 서블릿 요약  (0) 2021.01.26
Lambda, Stream : wip  (0) 2021.01.24
자바의 직렬화(Java Serialization)  (0) 2021.01.24
NIO 기반 입출력 및 네트워킹  (0) 2021.01.23
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함