새소식

반응형
Java/Spring

MyBatis

  • -
반응형

MyBatis

자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 사용할 수 있도록 도와주는 프레임워크

JDBC를 통해 데이터베이스에 엑세스하는 작업을 캡슐화하고 일반 SQL 쿼리, 저장 프로 시저 및 고급 매핑을

지원하며 모든 JDBC 코드 및 매개 변수의 중복작업을 제거 한다. 또한 프로그램 코드와 SQL 문을 분리할 수 있다.

 

MyBatis DB 접근 구조

 

MyBatis 구성요소

요소 설명
MyBatis Configuration File DB 접속 정보 및 Mapper 파일의 경로 등 환경정보를 설정하는 파일
SqlSessionFactoryBuilder SqlSessionFactory를 생성하는 Builder
SqlSessionFactory SqlSession 을 생성하기 위한 구성요소
- MyBatis 구성파일을 읽어 SqlSessionFactoryBuilder가 SqlSessionFactory를 생성
* SqlSessionFactoryBean을 통해 MyBatis 구성파일이 없어도 생성할 수 있다.
SqlSession SQL 실행 및 트랜잭션 제어 등 가장 중요한 역할을 한다.

 

MyBatis 구성요소가 DB 에 접근하는 순서

(1) ~ (3) 순서는 응용 프로그램 시작 시 수행되는 프로세스입니다.

순서 작업
1 응용 프로그램이 SqlSessionFactory를 생성하기 위해 SqlSessionFactoryBuilder에게 빌드하도록 요청한다.
2 SqlSessionFactoryBuilder는 SqlSessionFactory를 생성하기 위해 MyBatis 구성 파일을 읽는다.
3 SqlSessionFactoryBuilder는 MyBatis 구성파일에 따라 SqlSessionFactory를 생성한다.

 

(4) ~ (10) 은 클라이언트의 요청이 있을때 수행되는 프로세스입니다.

순서 작업
4 클라이언트가 응용 프로그램에 프로세스 요청
5 ~ 6 SqlSessionFactory에 의해 생성된 SqlSession을 응용프로그램에게 반환한다.
7 ~ 9 SqlSession에서 매퍼 인터페이스 구현 개체를 가져온 후 매퍼 인터페이스의 메서드를 호출한다.
10 SqlSession 은 매핑 파일에서 실행할 SQL을 가져와 SQL문을 실행한다.

 

 

 

참고 페이지

https://khj93.tistory.com/entry/MyBatis-MyBatis%EB%9E%80-%EA%B0%9C%EB%85%90-%EB%B0%8F-%ED%95%B5%EC%8B%AC-%EC%A0%95%EB%A6%AC

 

[MyBatis] MyBatis란? 개념 및 데이터구조

MyBatis란? 객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와 주는 개발 프레임 워크로서 JDBC를 통해 데이터베이스에 엑세스하는 작업을 캡슐화하고 일반 S

khj93.tistory.com

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.