카테고리 없음

MyBatis Template

최종군 2024. 9. 25. 22:34

 

 

public static SqlSession getSqlSession() {

    SqlSession sqlSession = null;

    String resource = "/mybatis-config.xml";
    try {
        InputStream stream = Resources.getResourceAsStream(resource);
        SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(stream);
        sqlSession = ssf.openSession(false);

    } catch (IOException e) {
        e.printStackTrace();
    }
    return sqlSession;
}

 

SqlSession 객체 :

 

1. SQL문을 실행하고 결과를 반환하는데 사용한다 

쿼리 업데이트, 삭제 등 다양한 SQL 작업을 수행한다 

 

2. SqlSession은 트랜잭션을 관리한다 사용자는 명시적으로 

트랜잭션을 시작하고 커밋하거나 롤백할 수 있습니다 

 

String resource = "/mybatis-config.xml";

 

resource 변수는 Mybatis 설정 파일의 경로를 나타낸다 

이 파일에는 데이터베이스 연결 정보와 매퍼 설정이 포함되어 있다 

 

InputStream stream = Resources.getResourceAsStream(resource);

설정 파일을 스트림으로 읽어온다. 

 

해당 스트림을 통해서 mybatis-config.xml 파일의 내용을 읽어들인다.

 

SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(stream);

 

Mybatis 설정 파일을 바탕으로 sqlSessionFactory

객체를 생성하는 빌더 클래스이다 

 

sqlSession = ssf.openSession(false);

false로 설정하면 트랜잭션을 수동 커밋 모드로 설정한다 

즉 사용자가 명시적으로 커밋을 호출하지 않으면

데이터베이스에 변경 사항이 반영되지 않는다.