SQL Mapper와 ORM은 데이터베이스와 객체 지향 프로그래밍 언어를 연결하는 기술들이다.
이 두 개념은 JDBC와 깊은 연관을 갖고 있는데 데이터베이스의 데이터를 객체 지향 언어에서 쉽게 다룰 수 있게 해주며, 둘 다 SQL 쿼리를 자동으로 생성하고 실행하는데 도움을 준다. 쉽게 말하면 JDBC를 쉽게 사용할 수 있게 해주는 기술이다.
그러나 이 둘은 다소 다른 접근 방식을 가지고 있다.
SQL Mapper란?
JDBC를 직접사용하려면 굉장히 많은 코드를 작성해야했다.
SQL Mapper는 이러한 불편함을 해소해주는 기술이다.
SQL Mapper는 반복적인 JDBC 코드를 처리해주고 테이블과 객체를 매핑하는 편리한 방법을 제공해준다.
개발자는 그저 개발자는 SQL을 작성하고, 전달할 파리미터를 정의하고, 응답 값을 매핑하기만 하면 된다.
대표적인 SQL Mapper 기술
- JdbcTemplate
[Spring Data] JdbcTemplate
JdbcTemplate이란?JdbcTemplate이란 SQL Mapper 기술 중 한 종류로 반복적인 Jdbc 코드를 대신 처리해주고 데이터베이스 테이블과 객체를 매핑하는 편리한 방법을 제공해준다.따라서 개발자 입장에서는 SQL
jaehee1007.tistory.com
- MyBatis
[Spring Data] MyBatis
MyBatis란?MyBatis란 SQL Mapper기술의 한 종류로 JdbcTemplate과 마찬가지로 반복적인 Jdbc 코드를 대신 처리해주고 데이터베이스 테이블과 객체를 매핑하는 편리한 방법을 제공해준다. MyBatis는 JdbcTemplate
jaehee1007.tistory.com
ORM
ORM이란 Object-Relational Mapping의 약자로 객체와 관계형 데이터베이스의 테이블을 자동으로 매핑해주는 기술이다.
ORM은 SQL Mapper처럼 개발자가 직접 SQL 쿼리를 작성하지 않고 객체만 전달하면 동적으로 SQL 쿼리를 만들어준다.
그중에서도 JPA는 자바 진영의 ORM 표준 인터페이스이며 구현체로는 하이버네이트와 이클립스링크 등이 있다.
JPA 관련 기술들
- JPA
[Spring Data] JPA
SQL Mapper의 단점1. 개발자가 직접 SQL을 작성해야 함 SQL을 작성하는 것은 매우 귀찮은 작업일 뿐더러 다음과 같이 테이블의 필드가 하나 추가되면 모든 SQL을 다 뜯어 고쳐야 함 2. 객체와 관계형
jaehee1007.tistory.com
- Spring Data JPA
[Spring Data] Spring Data JPA
Spring Data JPA란?JPA는 JdbcTemplate, MyBatis 등의 SQL Mapper 기술의 많은 단점들을 보완한 획기적인 기술이었다.하지만 JPA를 사용하기 위해선 많은 설정과 많은 코드를 필요로 했다. 따라서 Spring 프레임
jaehee1007.tistory.com
- QueryDSL
[Spring Data] QueryDSL
QueryDSLSpring Data Jpa의 한계Spring Data Jpa를 통해 Jpa를 더욱 더 편리하게 사용할 수 있었다.하지만 여전히 해결되지 않는 두 가지 문제가 있다.그 두 가지 문제는 다음과 같다. 1. 동적쿼리 문제@Overr
jaehee1007.tistory.com
해당 포스트는 김영한 님의 스프링 DB 2편 - 데이터 접근 활용 기술 강의를 기반으로 작성되었습니다.
출처: https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-2
'Spring > Spring Data' 카테고리의 다른 글
[Spring Data] MyBatis (0) | 2024.06.06 |
---|---|
[Spring Data] JdbcTemplate (0) | 2024.06.06 |
[Spring Data] 예외로 인한 의존성과 스프링의 예외 추상화 (0) | 2024.04.30 |
[Spring Data] Spring Transaction을 통한 문제해결 (0) | 2024.04.29 |
[Spring Data] JDBC 트랜잭션 (0) | 2024.04.29 |