JDBC SQLMAPPER ORM

송수용·2022년 6월 5일
0

백엔드의 기술

목록 보기
3/11

들어가며

WIL 키워드 ORM

WIL로 ORM 등장.
JPA를 공부하면서 ORM에 대한 내용을 처음 접해보았는데 ORM이 나오기까지의
역사를 보면서 어떻게 변화되었는지 알아보았다.
먼저 JDBC와 SQL MAPPER ORM의 공통점은 '영속성'을 가지고 있다.

데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성
영구히 저장되는 그 어떤 것을 말한다.

JDBC

먼저 JDBC다.

  • 1990년대 중반
  • 인터넷의 보급. DB 산업 성장
  • 온라인 비지니스 투자 증가. DB Connector에 대한 니즈
  • JAVA진영의 Database 연결 표준 인터페이스

불편한점

  • 중복코드가 많다.
  • 쿼리를 일일이 써야한다.
  • 커넥션 관리를 계속 해야한다.

SQLMAPPER

JDBC의 불편한 점을 보완하기 위해 다음과 같은 기술을 제공하기 시작했다.

MyBatis

  • SQL을 분리!

    Query를 Java에서 XML로

  • 복잡한 JDBC코드 x
  • ResultSet과 같이 결과값을 맵핑하는 객체 x
  • 간단한 설정
  • 관심사 분리

Spring JDBC

JDBC Template

ORM

데이터베이스 연결을 해야하는데,
객체지향으로 개발을 했는데, DB에 연결하자니 힘들다고 생각했지만,
결국, SQL에 의존적인 개발을 하게 됨.

"물리적으로는 SQL과 JDBC API를 데이터 접근 계층에 숨기는 데 성공했을지는 몰라도
논리적으로는 엔티티와 아주 강한 의존 관계를 가지고 있다."
패러다임의 불일치
관계형 데이터베이스에서는 객체지향과는 구현해내기 힘들어 패리다임의 불일치라는 말이 생겨났다.

그래서 ORM이 등장했다.

JPA

Java에서는 JPA 인터페이스를 Hibernate가 구현하여 사용

Hibernate

Spring JDBC / Spring JPA

  • Spring JDBC : simple!
    Entity Manager 하지말자!
    DDD 아키텍쳐로 사용하자!
    ORM이라고 하기엔 애매

  • Spring JPA:
    Repository에서 제한함.
    EntityManager가 수행함.

profile
#공부중 #협업 #소통중시 #백엔드개발자 #능동적 #워커홀릭 #스파르타코딩 #항해99 #미니튜터 #Nudge #ENTJ #브레인스토밍 #아이디어뱅크

0개의 댓글