12월4일 월요일 TIL

장숭혁·2023년 12월 4일
0

TIL작성

목록 보기
24/60

JDBC(Java DataBase Connectivity)

  • 자바 표준 API(응용 프로그래밍 인터페이스)
  • 데이터베이스 관리 시스템(DBMS)과 통신하여 데이터 CRUD가 가능케함

JDBC 주요특징

  • 표준 API이다. 대부분의 RDBMS에 대한 드라이버가 제공되어 일관된 방식으로 상호 작용할 수 있다. -> 데이터베이스 종류가 바뀌어도 쿼리문이 실행됨

  • 데이터 베이스 연결

  • SQL 쿼리 실행

  • Prepared Statement : JDBC에서 사용되는 객체 중 하나이다.SQL쿼리를 실행하기 전에 미리 컴파일하여 데이터베이스에 보낼때 사용된다.

    • 컴파일 단계 : SQL문장을 데이터ㅔ이스에 보내기 전에 미리 컴파일 한다. 미리 SQL 문장의 구문 오류를 미리 확인할 수 있게 해준다.
    • 파라미터화 : Prepared Statement는 SQL 쿼리에 파라미터를 넣을 수 있다. 동적으로 쿼리의 파라미터 값을 변경하여 여러번 실행할 수 있도록 한다.
    • 재사용 가능 : 한번 컴파일되면 Prepared Statement는 반복적으로 실행될 수 있다. 동일한 쿼리를 여러번 실행해야 할 때 유용하다.
    • 보안 강화 : SQL Injection 공격을 예방한다.
  • 트랜잭션 관리 : JDBC는 트랜잭션을 관리하고, 커밋 또는 롤백하는 등의 작업을 수행할 수 있다.

    SQL Injection : 악의적인 사용자가 애플리케이션에서 입력 데이터를 이용하여 SQL 쿼리 조작하고 데이터베이스에 무단 접근하거나 데이터를 변조하는 공격.

    Persistence Framework

  • JDBC의 복잡함을 개선한 프레임워크

  • 간단한 작업만으로 Database와 연동되는 시스템을 개발

  • 내부적으로 JDBC API를 이용한다. -> preparedStatement

  • SQL Mapper, ORM 두가지로 나눌 수 있다.

    영속성 : 데이터를 생성한 프로그램의 실행이 종료되더라도 데이터가 사라지지 않는다.
               JDBC, SQL Mapper, ORM의 공통적인 특징이다.

SQL Mapper

=>직접 작성한 SQL문의 실행결과 와 객체 필드 매핑하여 데이터를 객체화 한다.

Spring JDBC Template

=> Spring Framework에서 제공하는 JDBC 작업을 단순화하고 개선한 유틸리티 클래스

  • JDBC Template의 장점
  1. 보일러 플레이트 코드 최소화(무의미한 반복 코드 최소화)
  2. 예외 처리 간소화 (JDBCTemplate은 SQLException을 Spring의 DataAccessException으로 변환 처리한다.)
  3. 파라미터 매핑과 결과 매핑의 간편함 : JDBCTemplate은 PreparedStatement를 통해 파라미터 매핑을 손쉽게 할 수 있다.
  4. 트랜잭션 관리 : JdbcTemplate은 Spring의 트랜잭션 매니저와 통합되어 트랜잭션 관리를 지원한다.
  5. 편리한 예외 처리 , 로깅
  6. 프레임워크와의 통합 : Spring 다른 기능들과 자연스럽게 통합된다.
profile
코딩 기록

0개의 댓글

관련 채용 정보