본문 바로가기
GD's IT Lectures : 기초부터 시리즈/스프링 부트(Spring Boot) & 마이바티스(Mybatis) 연동

[스프링 부트(Spring Boot) & 마이바티스(Mybatis) 연동] 연동이란?

by GDNGY 2023. 5. 6.

스프링 부트(Spring Boot) & 마이바티스(Mybatis) 연동이란?

스프링 부트(Spring Boot)와 마이바티스(MyBatis) 연동은 스프링 부트 프레임워크와 데이터베이스 연동 프레임워크인 마이바티스를 함께 사용하여 웹 애플리케이션을 구축하는 방법입니다. 마이바티스는 자바 개발자들이 데이터베이스와 상호 작용할 수 있도록 도와주는 프레임워크로, SQL 쿼리문을 작성하고 실행하여 데이터베이스와 상호작용할 수 있습니다. 반면 스프링 부트는 자바 기반의 웹 애플리케이션 개발을 위한 프레임워크로, 높은 생산성과 간편한 설정 방법 등의 장점을 가지고 있습니다. 스프링 부트와 마이바티스를 연동하여 사용하면, 데이터베이스 연동 기능을 빠르고 쉽게 구현할 수 있으며, 개발자들이 웹 애플리케이션 개발에 집중할 수 있도록 도와줍니다.

 

  • 서론: 스프링 부트와 마이바티스의 개요 및 장점 소개
  • 개발 환경 설정: JDK 설치, 스프링 부트 프로젝트 생성, 마이바티스 의존성 추가 방법 소개
  • 스프링 부트 기초: 프로젝트 구조 및 주요 어노테이션, 컨트롤러/서비스/레포지토리 작성, 테스트 코드 작성 방법 소개
  • 데이터베이스 설정: MySQL 설치 및 설정 방법, 스프링 부트에서 데이터베이스 연결 설정 방법, JPA 설정 방법 소개
  • 마이바티스 기초: 마이바티스 설정 파일 및 SQL 매퍼 작성 방법, 마이바티스 어노테이션 사용 방법, 결과 매핑 및 동적 SQL 작성 방법 소개
  • 마이바티스와 스프링 부트 연동: 마이바티스 스프링 부트 스타터 사용 방법, SqlSessionFactory 및 SqlSessionTemplate 생성 방법, 트랜잭션 관리 설정 방법 소개
  • CRUD 애플리케이션 예제: 도메인 모델 생성 방법, 컨트롤러/서비스/매퍼 작성 방법, 페이징/정렬/검색 기능 구현 방법, 예외 처리 및 유효성 검사 방법 소개
  • 고급 기능: 캐싱, 로깅, 트랜잭션 전파, 다중 데이터 소스 사용, 마이바티스 플러그인 사용 방법 소개
  • 마무리: 배포 전략, 최적화 및 성능 향상 방법, 프로젝트 관리 및 협업 도구 소개, 참고 자료 소개

 


[목차]

1. 서론

    1.1. 스프링 부트 개요

        1.1.1. 스프링 부트의 역사

        1.1.2. 스프링 부트의 주요 기능

    1.2. 마이바티스 개요

        1.2.1. 마이바티스의 역사

        1.2.2. 마이바티스의 주요 기능

    1.3. 스프링 부트와 마이바티스의 장점

        1.3.1. 통합 개발의 장점

        1.3.2. 생산성 향상

 

2. 개발 환경 설정

    2.1. JDK 설치 및 설정

        2.1.1. JDK 버전 선택

        2.1.2. JDK 설치 방법

        2.1.3. 환경 변수 설정

    2.2. 스프링 부트 프로젝트 생성

        2.2.1. Spring Initializr 사용

        2.2.2. 프로젝트 구성 요소 선택

    2.3. 마이바티스 의존성 추가

        2.3.1. Maven 기반 프로젝트

        2.3.2. Gradle 기반 프로젝트

 

3. 스프링 부트 기초

    3.1. 프로젝트 구조 이해

        3.1.1. 프로젝트 디렉토리 구조

        3.1.2. 주요 설정 파일

    3.2. 주요 어노테이션

        3.2.1. 스프링 부트 어노테이션

        3.2.2. 마이바티스 어노테이션

    3.3. 컨트롤러, 서비스, 레포지토리 작성

        3.3.1. 컨트롤러 클래스 작성

        3.3.2. 서비스 클래스 작성

        3.3.3. 레포지토리 인터페이스 작성

    3.4. 테스트 코드 작성

        3.4.1. JUnit 테스트 프레임워크

        3.4.2. Mockito를 사용한 단위 테스트

 

4. 데이터베이스 설정

    4.1. MySQL 설치 및 설정

        4.1.1. MySQL 서버 설치

        4.1.2. MySQL 워크벤치 설치

        4.1.3. 스키마 및 테이블 생성

    4.2. 스프링 부트에서 데이터베이스 연결 설정

        4.2.1. application.properties 파일 설정

        4.2.2. application.yml 파일 설정

    4.3. 스프링 부트 JPA 설정 (선택 사항)

        4.3.1. JPA 의존성 추가

        4.3.2. 엔티티 매핑 및 레포지토리 인터페이스 작성

 

5. 마이바티스 기초

    5.1. 마이바티스 설정 파일 작성

        5.1.1. mybatis-config.xml 작성

        5.1.2. 마이바티스 설정 파일 위치 지정

    5.2. SQL 매퍼 작성

        5.2.1. XML 기반 매퍼 작성

        5.2.2. 인터페이스 기반 매퍼 작성

    5.3. 마이바티스 어노테이션 사용

        5.3.1. @Select, @Insert, @Update, @Delete

        5.3.2. @Results, @ResultMap

    5.4. 결과 매핑 및 동적 SQL

        5.4.1. 결과 매핑 방법

        5.4.2. 동적 SQL 작성

 

6. 마이바티스와 스프링 부트 연동

    6.1. 마이바티스 스프링 부트 스타터 사용

        6.1.1. 의존성 추가

        6.1.2. 자동 설정 사용

    6.2. SqlSessionFactory 및 SqlSessionTemplate 생성

        6.2.1. SqlSessionFactory 빈 생성

        6.2.2. SqlSessionTemplate 빈 생성

    6.3. 트랜잭션 관리 설정

        6.3.1. @Transactional 어노테이션 사용

        6.3.2. 트랜잭션 설정을 위한 DataSourceTransactionManager 생성

 

7. CRUD 애플리케이션 예제

    7.1. 도메인 모델 생성

        7.1.1. 도메인 클래스 작성

        7.1.2. 도메인 클래스 테스트

    7.2. 컨트롤러, 서비스, 매퍼 작성

        7.2.1. RESTful API 컨트롤러 작성

        7.2.2. 서비스 인터페이스 및 구현 클래스 작성

        7.2.3. 매퍼 인터페이스 작성 및 SQL 매핑

    7.3. 페이징 및 정렬 구현

        7.3.1. 페이징 쿼리 작성

        7.3.2. 정렬 쿼리 작성

    7.4. 검색 기능 구현

        7.4.1. 검색 쿼리 작성

        7.4.2. 검색 필터 적용

    7.5. 예외 처리 및 유효성 검사

        7.5.1. 예외 처리 전략

        7.5.2. 유효성 검사를 위한 Bean Validation 사용

 

8. 고급 기능

    8.1. 캐싱

        8.1.1. 마이바티스 캐싱 기능

        8.1.2. 스프링 캐시 추상화 사용

    8.2. 로깅

        8.2.1. 로그 레벨 설정

        8.2.2. 로그 파일 생성 및 관리

    8.3. 트랜잭션 전파

        8.3.1. 트랜잭션 전파 속성 이해

        8.3.2. 트랜잭션 전파 예제

    8.4. 다중 데이터 소스 사용

        8.4.1. 여러 데이터 소스 설정

        8.4.2. 동적 데이터 소스 라우팅

    8.5. 마이바티스 플러그인

        8.5.1. 플러그인 개요

        8.5.2. 플러그인 사용 예제

 

9. 마무리

    9.1. 배포 전략

        9.1.1. 스프링 부트 실행 가능 JAR 파일 생성

        9.1.2. 컨테이너화 및 클라우드 배포

    9.2. 최적화 및 성능 향상

        9.2.1. 데이터베이스 연결 풀 설정

        9.2.2. JVM 옵션 및 튜닝

    9.3. 프로젝트 관리 및 협업 도구

        9.3.1. Git 버전 관리 시스템

        9.3.2. 이슈 트래킹 및 프로젝트 관리 도구

    9.4. 참고 자료

        9.4.1. 공식 문서

        9.4.2. 커뮤니티 및 온라인 리소스

        9.4.3. 도서 추천

 

반응형

댓글