개키우는개발자 : )

MyBatis(마이바티스) 개요 본문

JAVA/Spring Framework

MyBatis(마이바티스) 개요

DOGvelopers 2019. 2. 8. 17:33
반응형

Spring Framework MyBatis(마이바티스) 개요



학습 목표


  • MyBatis 개요와 특징
  • MyBatis와 MyBatis-Spring의 주요 컴퓨넌트




1.MyBatis 개요와 특징


1-1 MyBatis의 개요


MyBatis(http://www.mybatis.org/mybatis-3/ko/index.html)는 

자바 오브젝트와 SQL문 사이의 자동 Mapping 기능을 지원하는 ORM 프레임워크 Sql Mapper 이다.


- MyBatis는 SQL을 별도의 파일로 분리해서 관리하게 해주며, 객체-SQL 사이의 파라미터 Mapping 작업을 자동으로 해주기 때문에 인기를 얻고 있는 기술이다.


- MyBatis는 Hibernate나 JPA(Java Persistence Api) 처럼 새로운 DB프로그래밍 패러다임을 익혀야 하는 부담이 없어, 개발자가 익숙한 SQL을 그대로 이용하면서 JDBC 코드 작성에 불편함도 제거해주고, 도메인 객체나 VO 객체를 중심으로 개발이 가능하다는 장점이 있다.


1-2 MyBatis의 특징


- 쉬운 접근성과 코드의 간결함.

- 가장 간단한 퍼시턴스 프레임워크

- XML 형태로 서술된 JDBC 코드라고 생각해도 될 만큼 JDBC의 모든 기능을 MyBatis가 대부분 제공한다.

- 복잡한 JDBC 코드를 걷어내며 깔끔한 소스코드를 유지할 수 있다.

- 수동적인 파라미터 설정과 쿼리 결과에 대한 맵핑 구문을 제거할 수 있다.


- SQL문과 프로그래밍 코드의 분리

- SQL에 변경이 있을 때마다 자바 코드를 수정하거나 컴파일 하지 않아도 된다.

- SQL 작성과 관리 또는 검토를 DBA와 같은 개발자가 아닌 다른 사람에게 맡길 수도 있다.


- 다양한 프로그래밍 언어로 구현가능

- Java, C#, .NET , Ruby



2.MyBatis와 MyBatis-Spring의 주요 컴퓨넌트


2-1 MyBatis와 MyBatis-Spring을 사용한 DB 액세스 Architecture



MyBatis와 MyBatis-Spring을 사용한 DB 액세스 ArchitectureMyBatis와 MyBatis-Spring을 사용한 DB 액세스 Architecture


2-2 MyBatis를 사용하는 데이터 액세스 계층


MyBatis를 사용하는 데이터 액세스 계층MyBatis를 사용하는 데이터 액세스 계층


2-3 MyBatis3의 주요 컴포넌트


MyBatis3의 주요 컴포넌트MyBatis3의 주요 컴포넌트



2-4 MyBatis3의 주요 컴포넌트의 역할


- MyBatis 설정파일(SqlMapConfig.xml) : 데이터베이스의 접속 주소 정보나 Mapping 파일의 경로 등의 고정된 환경정보를 설정한다.


- SqlSessionFactoryBuilder : MyBatis 설정 파일을 바탕으로 SqlSessionFactory를 생성한다.


- SqlSessionFactory : SqlSession을 생성한다.


- SqlSession : 핵심적인 역할을 하는 클래스로서 SQL 실행이다 트랙잭션 관리를 실행한다. SqlSession 오브젝트는 Thread-Safe 하지 않으므로 thread마다 필요에 따라 생성한다.


- Mapping 파일(user.xml) : SQL문과 OR Mapping을 설정한다.



2-5 MyBatis-Spring의 주요 컴포넌트의


MyBatis-Spring의 주요 컴포넌트의MyBatis-Spring의 주요 컴포넌트의



2-6 MyBatis-Spring의 주요 컴포넌트의 역할


- MyBatis 설정파일(SqlMapConfig.xml) : VO 객체의 정보를 설정한다.


- SqlSessionFactory : MyBatis 설정파일을 바탕으로 SqlSessionFactory를 생성한다, Spring Bean으로 등록해야 한다.


- SqlSessionTemplate : 핵심적인 역할을 하는 클래스로서 SQL 실행이나 트랜잭션 관리를 실행한다. SqlSession 인터페이스를 구현하며, Thread-safe 하다. Spring Bean으로 등록해야 한다.


- Mapping 파일 (user.xml) : SQL문과 OR Mapping을 설정한다.


- Spring Bean 설정 파일 (mybatisBeans.xml) : SqlSessionFactoryBean을 Bean 등록할 때 DataSource 정보와 MyBatis Config 파일정보, Mapping 파일의 정보를 함께 설정한다. SqlSessionTemplate을 Bean으로 등록한다.


완성된 프로젝트 코드를 다운받으실수 있습니다.

https://dog-developers.tistory.com/30

반응형
Comments