📌 스프링부트에서 DB 연동 방법 개요

스프링부트 애플리케이션에서 DB와 통신하려면 SQL을 실행할 수 있어야 합니다. 대표적인 기술은 아래와 같습니다:

기술 설명 특징
JDBC Java 표준 DB 연결 방식 직접 SQL 작성, 반복 코드 많음
MyBatis SQL 기반 반자동 ORM SQL은 직접 작성, 매핑은 자동
JPA (Hibernate) 완전한 ORM 기술 SQL 거의 안 씀, 객체 중심

🔧 MyBatis란?

MyBatis는 다음과 같은 특징을 가진 반자동 ORM 프레임워크입니다.


⚙️ MyBatis 동작 원리

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 → 사용자에게 전달

📁 예제 코드로 보는 동작