framework/mybatis

[mybatis] 1. MYBATIS 개념

jeri 2024. 7. 19. 18:00
반응형

01. myBatis vs hybernate vs spring

1) 프레임워크란?

  • 프레임워크는 약간의 비어있는 뼈대를 제공해주는 것 (전체적인 흐름은 완성되어있되 살은 안붙어있는 것)
  • 그 비어있는 곳만 채워주면 프로그램이 완성된는 것
  • 즉, 이미 반 이상이완성되어있는 프로그램 = 프레임워크라 부름

2) myBatis 프레임워크

  • persistence layout을 지원하는 프레임워크
  • 즉, DAO를 만들어주는 프레임워크
  • 웹프로그램은 hybernate 프레임워크보다는 mybatis를 더 많이 사용함
  • mybatis는 spring 보다 select 만큼은 강력한 기능을 제공해줌!!!
  • 단, 자바 언어만 가능(자바만을 위한 프레임워크)

3) hybernate 프레임워크

  • 모든 언어 다 가능

4) spring 프레임워크

  • 모두 다 지원해주는 통합 프레임워크
  • persistence layout, business layout , presentation layout (view) 을 지원하는 프레임 워크가 될 수 있음
  • 경량화된 프레임워크지만, 중요한 라이브러리 다 제공해줌
  • 다른 라이브러리도 가져다 쓸 수 있음 (확장성이 뛰어남)

 

 

02. myBatis프레임워크 프로젝트에 빌드처리 하는 법

 

mybatis

Last Published: 02 4월 2024| Version: 3.5.17-SNAPSHOT

mybatis.org

  • myBatis프레임워크 프로젝트에 빌드처리 참조 사이트 : The MyBatis Blog
    • mybatis가 어떻게 개발되었는지 써있음
    • ibatis2를 구글이 인수하면서 ibatis3을 mybatis3으로 부름
    • 즉, 구글에서 제공해주는 프레임워크임
    • 우리는 mybatis 3버전 사용할 것임!
 

The MyBatis Blog

A blog about the the MyBatis data mapper framework.

blog.mybatis.org

  • products 클릭

  • 최신버전 zip파일 다운받기

  • 프로젝트에 빌드처리

 

 

 

03. myBatis의 개념 및 특징

1) myBatis란?

  • 개발자가 지정한 SQL, 저장프로시저 , 몇가지 고급 매핑을 지원하는 Persistence 프레임워크

2) Persistence 프레임워크란?

Business Layout

  • 필요한 데이타를 조작 (더하기 빼기 곱하기 전달값 전달..)
  • 실제 일하는 레이아웃 - 예시) Spring프레임워크

Presentation Layout

  • 데이타의 처리 결과를 보여주는 것
  • 일반적으로 출력과 관련된
  • 웹에서는 출력을 JSP(HMTL)가 함
    • HTML : 프레임워크없음
    • CSS : 부트스트랩 프레임워크
    • JS : Angular.js프레임워크 (자바스크립트를 MVC형태로 만들어주는 프레임워크), React 라이브러리

Persistence Layout

  • Spring프레임워크 - Persistence 프레임워크에 많이 사용
  • Hybernate프레임워크 - 해외에서 많이 사용
  • myBatis프레임워크 - 우리나라에서 가장 많이 사용
  • 사용자가 지정한 SQL, 저장프로시저, 몇가지 고급 매핑을 지원

3) myBatis의 역할

  • JDBC로 처리하는 상당부분의 코드와 파라미터 설정 및 결과 매핑을 대신해줌
  • 데이터베이스 레코드에 원시타입과 Map인터페이스 그리고 자바 POJO를 설정해서 매핑하기 위해 XML과 애노테이션 사용가능 (기존의 쓰던 자바객체를 그대로 사용해 매핑처리가능)
  • 즉, DAO클래스를 만들기 위해서는 XML을 잘 만들거나 애노테이션을 잘 쓰면 됨!!!
  • VS ibatis : 애노테이션 기능 없었음

💖maven (빌드 툴 프로그램)

  • 라이브러리를 자동으로 빌드처리 해주는 프로그램 (빌드 툴)
  • 메이븐(maven)을 사용한다면 pom.xml에 다음의 설정 추가
  • 하지만 현재 우리가 지금 만드는 프로젝트에는 사용하지 않음
  • 스프링의 가장 기본은 메이븐이기 때문에 나중에 스프링 프레임워크로 프로젝트 만들 때 사용할 것임
  • 참고) 현업에서는 스프링부트보다 스프링을 더 많이 사용함
pom.xml
<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>x.x.x</version>
</dependency>

 

💖다이나믹 웹 프로젝트

  • 현재 우리가 만드는 프로젝트
  • 기본적으로 메이븐이 존재하지 않음!

04. mybatis의 핵심

  • resultMap이 주는 핵심기술
  • 강력한 동적 SQL
반응형