Spring(MyBatis)_00

2025. 2. 5. 17:10·Spring, Boot/기초 내용 정리

2025-01-23

 

# MyBatis
  - 객체지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더
    쉽게 구현할 수 있도록 도와 주는 개발 프레임워크임.
       
  - MyBatis는 Spring과 전혀 상관없는 독립적인 프레임워크.
    MyBatis는 Java에 국한된 프레임워크가 아님. 
    C#, Ruby 등의 언어에서도 사용이 가능함.
  
  - MyBatis란 DAO 객체와 SQL문을 Mapping 해 주는 
    Persistence Framework임(SQL Mapper라고도 부름).
    즉, Data Access Layer에 속하는 프레임워크임.
    
  - 자바는 JDBC API를 제공해 주지만, 이런 JDBC를 이용하면 한 개의
    클래스에 반복된 코드가 존재, 한 파일에 Java 언어와 SQL 언어가
    섞여 있어서 재사용성 등이 안 좋아지는 단점이 발생함.
    
  - MyBatis는 이러한 JDBC의 단점들을 개선했으며, 개발자가 작성한
    SQL 명령어와 자바 객체를 매핑해 주는 기능을 제공하며, 기존에
    사용하던 SQL 명령어를 재사용이 가능하게 해 줌.
    
  - 자바 오브젝트와 SQL문 사이의 자동 Mapping 기능을 지원하는
    ORM(Object Relational Mapping) 프레임워크임.
    
    ※ ORM이란 객체와 관계형 데이터베이스의 데이터를 자동으로
      매핑(연결) 해 주는 것을 말함.
       
  - MyBatis는 SQL을 별도의 파일로 분리해서 관리하게 해 주며, 
    객체와 SQL 사이의 파라미터 매핑 작업을 자동으로 해 주기 때문에
    많은 인기를 얻고 있는 기술임.
    
  - MyBatis의 특징
    * 쉬운 접근성과 코드의 간결함.
    * XML 형태로 서술된 JDBC 코드라고 생각해도 될 만큼 JDBC의
      모든 기능을 MyBatis가 대부분 제공함.
    * 복잡한 JDBC 코드를 걷어내며 깔끔한 소스 코드를 유지할 수 있음.
    * 한 두 줄의 자바코드로 DB 연동을 처리를 해 줌.
    * SQL 명령어를 자바 코드에서 분리하여 XML 파일로 따로 관리.
  
  - 따라서, 독립적인 MyBatis 프레임워크를 스프링과 연동하기 위해서는
    MyBatis-Spring 모듈이 필요함.
    MyBatis-Spring은 MyBatis를 Spring Framework에 녹여 
    더 쉽게 사용할 수 있게 하기 위한 연동 모듈임. 
    

# MyBatis 설정 작업
  - 스프링과 MyBatis를 연동하기 위한 라이브러리 설정 - pom.xml
  
    * MyBatis 프레임워크 라이브러리 추가.
    * MyBatis-Spring 라이브러리 추가.
    * Spring-JDBC 라이브러리 추가.
    
    * 데이터베이스와 연결을 담당하는 DataSource 객체 설정.

'Spring, Boot > 기초 내용 정리' 카테고리의 다른 글

Spring(MyBatis)_02  (0) 2025.02.05
Spring(MyBatis)_01  (0) 2025.02.05
Spring(JDBC)_01  (1) 2025.01.22
Spring(JDBC)_00  (1) 2025.01.22
Spring(MVC)_03_01  (0) 2025.01.22
'Spring, Boot/기초 내용 정리' 카테고리의 다른 글
  • Spring(MyBatis)_02
  • Spring(MyBatis)_01
  • Spring(JDBC)_01
  • Spring(JDBC)_00
mw41817
mw41817
일생의 개발 기록 저장소
  • mw41817
    IT 개발 일지
    mw41817
    • Index (487)
      • HTML (36)
        • 기초 내용 정리 (36)
      • CSS (29)
        • 기초 내용 정리 (29)
      • JavaScript (60)
        • 기초 내용 정리 (60)
      • JQuery (38)
        • 기초 내용 정리 (38)
      • Java (232)
        • 기초 내용 정리 (232)
      • JSP (46)
        • 기초 내용 정리 (46)
      • Spring, Boot (31)
        • 기초 내용 정리 (31)
      • DB (5)
        • Oracle SQL (5)
      • Code WorkBook (6)
        • programmers (6)
        • Baekjoon (0)
      • 기타 (1)
        • 유용한 사이트 (3)
  • 전체
    오늘
    어제
  • 글쓰기 관리
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 카테고리
    • 주인장 GitHub
  • 공지사항

  • 인기 글

  • 태그

    html #코딩 #프로그래밍 #기초
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
mw41817
Spring(MyBatis)_00
상단으로

티스토리툴바