'Back-End/Mybatis3.x'에 해당되는 글 15건

donaricano-btn

마이바티스 흐름(Flow)


1. 애플리케이션이 SqlSessionFactoryBuilder를 사용해서 SqlSessionFactory 생성 준비

2. 애플리케이션이 요청하면 SqlSessionFactoryBuilder는 데이터베이스 접속 정보 등이 기재된 Mybatis 설정 파일을 읽어옴

3. SqlSessionFactory 생성

4. 애플리케이션은 생성된 SqlSessionFactorySqlSession의 제공 의뢰

5. SqlSessionFactory는 SqlSession을 생성해서 어플리케이션에 제공

6. 애플리케이션은 SqlSession의 SQL 발행을 지시

- 7. Mapper 인터페이스를 이용할 때는 SqlSession에 Mapper의 생성을 의뢰하고 Mapper 인터페이스 메소드 호출

8. 내부에서 SqlSession에 SQL 발생이 지시

9. SqlSession은 지시된 SQL을 매핑 파일에서 찾아서 SQL 발행

블로그 이미지

리딩리드

,
donaricano-btn

주요 구성


1. 구성

1) MyBatis 설정 파일

- 데이터 베이스 접속 주소, 매핑 파일 경로 설정

2) SqlSessionFactoryBuilder

- Mybatis 설정 파일을 바탕으로 SqlSessionFactory 생성

- 애플리케이션 시작할 때 사용하여 SqlSessionFactory를 생성하면 없어지므로 버려진다

3) SqlSessionFactory

- SqlSession을 생성한다

- 스레드 세이프 하며, 애플리케이션 안의 프로그램은 하나의 오브젝트를 싱클톤 패턴 등으로 공유해야한다

- 스프링 연계시 DI 컨테이너에 관리 시킨다

4) SqlSession

-  SQL 발행이나 트랜잭션 관리 실행

- 스레드 세이프 하지 않으며 스레드 마다 필요에 따라 생성하고 폐기

5) Mapper 인터페이스   

- 매핑 파일에 기재된 SQL을 호출하기 위한 인터페이스

- MyBatis3가 자동 생성

- Mapper 오브젝트는 SqlSession 오브젝트와 관련해서 생성되므로 SqlSession 오브젝트와 함께 생성하고 폐기

6) 매핑 파일

- SQL과 OR 매핑을 설정, XML 파일



블로그 이미지

리딩리드

,
donaricano-btn

 MyBatis3란?


- MyBatis2 후속으로 등장한 ORM

- iBatis라는 이름으로 ASF의 프로젝트로 개발, 이후 3.X의 공개와 동시에 MyBatis라는 이름으로 변경되고 Google Code의 프로젝트가 됨

- 라이선스는 아파치 라이선스 2.0이다


1. 특징

1) XML을 이용하여 SQL과 OR 매핑을 다채롭고 단순하게 기술

2) MyBatis2.x 와 호환성은 없지만 같은 일을 처리

3) Mapper 라는 개념 제공

- 애플리케이션의 소스 코드를 타입에 안전하게 기술

4) 애노테이션 지원

블로그 이미지

리딩리드

,