728x90
반응형
MyBatis 란
SQL 기반 웹 애플리케이션을 개발할 때 가장 많이 사용되는 SQL 매퍼 프레임워크입니다.
SQL을 별도의 파일로 분리해서 관리하게 해 줍니다.
Hibernate 처럼 새로운 DB 프로그래밍 패러다임을 익혀야 하는 부담 없이 SQL을 그대로 이용하면서 JDBC코드 작성의 불편함도 제거해 주고 도메인 객체, VO 객체를 중싱으로 개발이 가능
특징
- 싱글톤 패턴으로 스프링빈으로 등록하여 주입하여 쉽게 사용 가능
- MyBatis Mapper Interface를 통해 DB에 접근
- 객체 프로퍼티로 파라미터, 결과를 객체 등으로 자동 매핑
- Spring 연동 모듈을 제공해 주기 때문에 Spring 설정이 간단
- 트랜잭션을 관리해 주기 쉽게 설정이 가능
사용 목적
데이터베이스 쿼리 ↔ 프로그래밍 언어 코드를 분리하여 유지보수, 생산성을 높이는 것
장점
- 유연성
- SQL 쿼리를 직접 작성할 수 있으므로 매우 유연하며 MyBatis는 동적 쿼리를 작성 가능
- 간결성
- SQL 쿼리와 프로그래밍 언어 코드를 분리하기 때문에 코드가 간결해져 유지보수에 용이
- 성능
- 캐시 기능을 제공하여 데이터베이스 연산 속도를 향상
- 다양한 데이터베이스 지원
- 다양한 데이터베이스에 대한 지원 제공
주요 컴포넌트
이름 | 설명 |
MyBatis 설정 파일 (mybatis-config.xml) | DB의 접속 정보, Mapping 파일의 경로, alias 등을 설정하는 XML 파일 |
SqlSessionFactoryBuilder | MyBatis 설정파일을 읽고 SqlSessionFactory를 생성 |
SqlSessionFactory | SqlSession을 생성 |
SqlSession | 가장 핵심적인 역할을 SQL의 실행, 트랜잭션 관리를 수행 Thread-Safe 하지 않으므로 thread 마다 필요에 따라 생성 |
Mapping File(mapper.xml) | SQL과 객체 매핑 설정을 하는 XML 파일 |
728x90
반응형
'백수 > java' 카테고리의 다른 글
12. 컬렉션 클래스에서 제네릭을 사용하는 이유를 설명하세요 (0) | 2023.07.31 |
---|---|
11. 제너릭이 무엇인가요? (0) | 2023.07.28 |
Tomcat, JSP, Servlet (0) | 2023.07.25 |
10. Servlet과 JSP를 비교해서 설명하세요 (0) | 2023.07.25 |
직렬화 (0) | 2023.07.18 |