06. JDBC, SQLMAPPER, ORM

americano4ever·2021년 8월 19일
0

테코톡

목록 보기
7/10

셋의 공통점?

  • 세가지 프레임워크 모두 영속성 프레임워크이다.
  • 영속성이란, 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 특성을 의미한다.
  • 이들을 이용하면, 간단한 작업만으로도 데이터베이스와 연동되는 자바 어플리케이션을 만들 수 있다.

01. JDBC

  • Java 표준 api(JavaSoft specification of a standard application programming interfac)
  • DB connection, SQL을 통한 DB에 쿼리 전송 등 DB연동이 가능해진다.
  • 커넥션 관리, 쿼리 관리가 불편하여 SQLMAPPER가 등장한다.

02. SQLMAPPER

-> SQL을 분리해내기. SQL 작성 줄이기.

Spring Jdbc

동작스프링개발자
연결파라미터 정의O
연결 오픈O
사용할 SQL문 지정O
파라미터 선언과 값 제공O
선언문 준비와 실행O
(존재시)결과반복 루프 수행O
각 이터레이션에 대한 작업수행O
예외처리O
트랜잭션 제어O

MyBatis

  • SQL을 분리하자. 메소드에 관한 쿼리를 XML로 매핑해주고 매핑해둔 쿼리를 불러서 사용.

03. ORM

  • object relational mapping
  • 이전의 문제점: 객체지향과 Rdb를 연결지시가 어렵고 SQL에 의존적인 코드가 작성된다.
  • 이전의 문제점: 물리적으로는 SQL과 JDBC를 데이터 접근계층에 숨겼으나, 논리적으로는 엔티티와 강한 의존 관계이다.(이 둘 없이는 작성할 수 있다.) 이는 패러다임과 맞지 않다.

Jpa & Hibernate

  • entity manager(영속성 컨텍스트)를 통해서 엔티티를 관리한다.

Spring Data Jpa

  • Repository를 만들어 한 단계더 추상화 시킴.

04. 요약

  • JDBC: Java 표준 영속성 프레임워크 Api
  • SQLMAPPER: SQL을 분리하자.
  • ORM : RDB를 객체지향적으로.

0개의 댓글