Mybatis의 개념과 컴포넌트

zizi·2023년 5월 17일
post-thumbnail

1. Mybatis란

  • Mybatis는 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원하는 ORM(Object relational Mapping)프레임워크이다.
  • 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와주는 프레임워크이다.
  • SQL을 별도의 파일로 분리해서 관리하게 해준다.

2. Mybatis의 특징

  1. 쉬운 접근성과 코드의 간결함
    JDBC의 모든 기능을 Mybatis가 대부분 제공한다.
    복잡한 JDBC코드를 걷어내며 깔끔한 소스코드를 유지할 수 있다.
    수동적인 파라미터 설정과 쿼리 결과에 대한 맵핑 구문을 제거할 수 있다.

  2. SQL문과 프로그래밍 코드의 분리
    SQL에 변경이 있을 때마다 자바 코드를 수정하거나 컴파일하지 않아도 된다.

  3. 다양한 프로그래밍 언어로 구현가능
    Java, C#, .NET, Ruby

3. Mybatis 주요 컴포넌트의 역할

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

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

SqlSessionFactory : SqlSession을 생성한다.

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

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

4. 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://velog.io/@changyeonyoo/Mybatis%EB%9E%80-%EC%9E%A5%EC%A0%90-%ED%8A%B9%EC%A7%95-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8

profile
좋았다면 추억이고 나빴다면 경험이다.🍀

0개의 댓글