java study_1 (JDBC, ORM, SQL 매퍼)

도연·2023년 5월 30일
0

_moyeon_spring-summarize

목록 보기
2/2

1. JDBC : Java에서 DB에 접근하기 위해 제공되는 api

  • 중복 코드 발생 가능
  • 커넥션 관리가 필요 (connection을 연결해 놓은 객체들을 pool에 저장해두었더가 WAS가 실행되면서 클라이언트의 요청이 오면 connection을 빌려주고 처리가 끝나면 다시 connection을 반납받아 pool에 저장)

2. SQL 매퍼: 개발자가 직접 SQL문을 작성해 데이터베이스의 데이터를 다루는 Persistence Framework (객체와 테이블 간의 관계를 직접 매핑 x , SQL문을 실행해 쿼리 수행 결과를 어떤 객체에 매핑할지 바인딩 하는 방법 o) ex) MyBatis

Mapper 방식을 사용하면 중복되는 코드를 줄일 수 있지만 JDBC와는 다르게 DBMS에 따라서 문법을 달리해줘야해 DBMS에 종속적이다.

  • DBMS 변경 시 SQL문 재사용이 어려움
  • 객체 <--> 테이블 패러다임 불일치 발생
  • DBMS 별로 SQL 문법 다름
  • EX) Spring JDBC
    MyBatis

3. ORM : 객체와 관계형 데이터베이스를 매핑한다는 뜻

  • 객체간의 관계를 바탕으로 SQL을 자동으로 생성하고 메서드를 통해 조작한다.
    -- ex) SELECT * FROM user --> userRepository.findAll();

** JPA : 자바 진영의 ORM 기술 표준

(수정 중)

profile
모연

0개의 댓글