상세 컨텐츠

본문 제목

MyBatis란?

My Batis

by b.spring 2021. 3. 14. 03:15

본문

데이터의 입력, 조회, 수정, 삭제(CRUD)를 보다 편하게 하기 위해

xml로 구조화한 Mapper설정파일을 통해

JDBC를 구현한 영속성 프레임 워크

 

기존에 JDBC를 통해 구현했던

상당 부분의 코드와 파라미터 설정 및 결과 매핑을

xml설정을 통해 쉽게 구현할 수 있게 함

 

이전에 JDBC Template을 통해 SQL을 실행하였다면

MyBatis는 해당 흐름을 전용 라이브러리를 통해 대체하여 동작함

DAO에서 MyBatis설정 파일이 들어감

 

 

DB와 연결하기 위한 Connection대신 SqlSession이 필요함 (같은 기능)

-MyBatis 활용 객체 생성하는 법

SqlSession
FactoryBuilder
(Object)

생성
build(inputStream)

SqlSession
Factory
(Object)

생성

openSession()
SqlSession
(Object)

실행
selectOne selectList selectMap insert
update
delete
  ↓참조
mybatis-config.xml

-Class의 Alias(별칭) 설정

-DB연결 설정

-sql 구문 경로 설정

    ↓참조
mapper.xml
-sql 쿼리문 설정

(인자 값, 결과 값, 데이터 타입 등 설정)
*각 패키지마다 존재(게시판, 멤버 패키지 등)
   

 

  1. http://blog.mybatis.org/ 접속
  2. Products탭 선택 후 MyBatis 다운로드 탭 클릭
  3. Assets에 mybatis-3.5.6.zip 파일 다운로드
  4. 파일 압축해체 후 mybatis-x.x.x.jar 라이브러리를 프로젝트 내 WEB-INF/lib 폴더에 추가
package common;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class Template {
	public static SqlSession getSqlSession() {
		// 커넥션 대신 사용! myBatis jar 파일 lib에 추가해야 import 가능
		SqlSession session = null;
		
		try {
			InputStream inputStream = Resources.getResourceAsStream("/mybatis-config.xml");
			
//			SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
//			SqlSessionFactory ssf = ssfb.build(inputStream);
//			session = ssf.openSession(false); // 자동커밋하지마
			
			session = new SqlSessionFactoryBuilder().build(inputStream).openSession(false); // 메소드체이닝
			// close, commit, rollback은 따로 구현할 필요 없음
		} catch (IOException e) {
			e.printStackTrace();
		}
		return session;
	}
}

관련글 더보기

댓글 영역