MyBatis 란 무엇일까?

2025. 6. 13. 09:31·Spring

자바로 웹개발을 하다보면 MyBatis를 정말 많이 사용한다.

보통 개발을 MVC 패턴 기반으로 설계하는데, DB 역할을 하는 Model 쪽에 있는 데이터를 자바에서는 뽑아올려면 JDBC 를 사용하는 수 밖에 없었다. 하지만 JDBC 는 처음부터 끝까지 개발자가 코드를 어렵게 작성해야 하기 때문에, 유지보수와 가독성 측면에서 사용하기 힘들었다. 이를 위해 MyBatis 를 사용한다.

 

MyBatis 의 장점을 알아보자.

1. SQL 과 자바 코드의 분리

- SQL 문장을 자바에서 XML 파일을 생성해서 자바 파일과 분리해서 관리할 수 있다. (유지보수가 용이해진다.)

2. 자동 매핑 지원

- 쿼리 결과를 자바 객체(VO, DTO)로 자동으로 매핑해준다.

3. 유연한 쿼리 작성

- 직접 SQL 쿼리문을 작성할 수 있어 보다 세밀하게 데이터를 불러올 수 있다.

 

사용방법

  • Mapper XML 작성
    SQL 문을 mapper.xml 파일에 작성한다.
  • Mapper 인터페이스 정의
    XML의 SQL과 연결될 자바 인터페이스를 만든다.
  • Service/Controller에서 호출
    Mapper 인터페이스를 통해 DB 작업을 실행한다.

 

 

 

 

'Spring' 카테고리의 다른 글

Dispatcher Servlet은 무엇이며 어떻게 동작하고, 어떤역할을 할까?  (0) 2025.06.29
Spring Bean이란 무엇이며, 어떻게 정의할까?  (0) 2025.06.15
Spring 과 SpringBoot의 차이  (1) 2025.06.11
@Component, @Service, @Repository, @Controller 어노테이션의 차이점  (1) 2025.06.09
[Spring]Spring Bean의 생명주기란 무엇일까?  (0) 2025.06.04
'Spring' 카테고리의 다른 글
  • Dispatcher Servlet은 무엇이며 어떻게 동작하고, 어떤역할을 할까?
  • Spring Bean이란 무엇이며, 어떻게 정의할까?
  • Spring 과 SpringBoot의 차이
  • @Component, @Service, @Repository, @Controller 어노테이션의 차이점
동준1234
동준1234
공부 기록
  • 동준1234
    dongjundev
    동준1234
  • 전체
    오늘
    어제
  • GitHub
    • 분류 전체보기 (150)
      • 일상 (1)
      • 복습 및 회고록 (26)
      • Spring (17)
      • JAVA (32)
      • kubernetes (1)
      • Front-End (13)
      • Server (11)
      • SQL (20)
        • JDBC (1)
      • 자격증 (7)
        • 정보처리기사 필기 준비 (6)
        • 정보처리기사 실기 준비 (0)
        • SQLD (1)
      • project (18)
        • 백준 및 코딩테스트 공부 (6)
        • 대학교 캡스톤 디자인 (6)
        • 4학년 캡스톤 디자인 및 전시회 (3)
      • 네트워크 (3)
      • AI 머신러닝 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    jQuery
    react
    프론트
    개발자
    JavaScript
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
동준1234
MyBatis 란 무엇일까?
상단으로

티스토리툴바