스프링부트 애플리케이션에서 DB와 통신하려면 SQL을 실행할 수 있어야 합니다. 대표적인 기술은 아래와 같습니다:
| 기술 | 설명 | 특징 |
|---|---|---|
| JDBC | Java 표준 DB 연결 방식 | 직접 SQL 작성, 반복 코드 많음 |
| MyBatis | SQL 기반 반자동 ORM | SQL은 직접 작성, 매핑은 자동 |
| JPA (Hibernate) | 완전한 ORM 기술 | SQL 거의 안 씀, 객체 중심 |
MyBatis는 다음과 같은 특징을 가진 반자동 ORM 프레임워크입니다.
<if>, <choose> 등)MyBatis는 Mapper 인터페이스와 Mapper XML 또는 @Mapper 어노테이션을 기반으로 작동합니다. 기본 흐름은 다음과 같습니다.
Controller → Service → Mapper Interface → Mapper XML(SQL 실행) → DB → 결과 반환 → 객체 매핑 → Controller 응답
| 단계 | 설명 |
|---|---|
| 1. 요청 | 사용자가 HTTP 요청을 보냄 |
| 2. Controller | 요청을 받아 Service 계층으로 전달 |
| 3. Service | 비즈니스 로직 처리 후 Mapper 인터페이스 호출 |
| 4. Mapper 인터페이스 | 정의된 메서드 호출, 내부적으로 SQL 실행 |
| 5. SQL 실행 | XML 또는 어노테이션 기반 SQL 수행 |
| 6. 결과 반환 | DB 결과를 자바 객체에 자동 매핑 |
| 7. 응답 | 최종 데이터를 Controller → 사용자에게 전달 |