MyBatis Template
2022. 1. 5. 20:34ㆍFramework
반응형
마이바티스는 자바 퍼시스턴스 프레임워크의 하나로
XML 서술자나 애너테이션을 사용하여
저장 프로시저나 SQL 문으로 객체들을 연결
DB와 접속되는 객체가 connection객체가 아닌 SqlSession세션
객체DB와 접속하는 connection객체는 service단에서 생성
seqlSession도 마찬가지로 service단에서 생성
package com.gy.mybatis.common.template;
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.SqlSessionFactoryBuilder;
public class Template {
/*
* 기존 JDBC
* public static Connection getConnection() {
* // driver.properties 파일 읽어들여서
* // 해당 DB와 접속된 Connection객체 생성해서 반환
* }
*
* public static void close(JDBC용 객체) {
* // 전달받은 JDBC용 객체를 반납시키는 구문
* }
*
* public static void commit|rollback(conn) {
* // 트랜잭션 처리
* }
*/
// 마이바티스
public static SqlSession getSqlSession() {
// mybatis-config.xml 파일 읽어들여서
// 해당 DB와 접속된 SqlSession 객체 생성해서 반환
SqlSession sqlSession = null;
// SqlSession 생성하기 위해 SqlSessionFactory 필요
// SqlSessionFactory 생성하기 위해 SqlSessionBuilder 필요
String resources = "/mybatis-config.xml";
// '/' 모든 소스폴더 최상위
try {
// resources 읽어들이는 통로 생성
InputStream stream = Resources.getResourceAsStream(resources);
// sqlSession객체를 생성
sqlSession = new SqlSessionFactoryBuilder().build(stream).openSession(false);
// openSession(): 호출만 한 경우. 오토커밋 기본값 false
// openSession(boolean flag): 오토커밋 여부(true/false)
} catch (IOException e) {
e.printStackTrace();
}
return sqlSession;
}
}
반응형
'Framework' 카테고리의 다른 글
스프링 컨트롤러에서 파라미터 받는 여러 방법 (0) | 2022.01.14 |
---|---|
스프링에게 주도권 부여하기 위해 bean등록 (0) | 2022.01.13 |
스프링 프레임워크 세팅2 (0) | 2022.01.13 |
스프링 프레임워크 세팅 (0) | 2022.01.11 |
MyBatis config-xml (0) | 2022.01.05 |