내용

글번호 1293
작성자 허진경 (나자바바)
작성일 2025-01-22 15:14:44
제목 스프링에서 마이바티스 사용할 때 SqlSessionFactory와 SqlSessionFactoryBean
내용 다음은 [자바 스프링 프레임워크와 스프링 부트 - 원리부터 실전까지 (2025 개정판)] 247페이지에 있는 내용입니다. MyBatis-Spring에서는 SqlSessionFactoryBean를 사용하여 sqlSessionFactory 빈을 만들 수 있습니다. SqlSessionFactoryBean의 빈 정의 시 DataSource 빈을 의존성 주입해야 합니다. 그리고 mapperLocations 속성에 마이바티스 매퍼 XML 파일의 위치를 지정해야 합니다. 오늘 학생이... 자신은 마이바티스 배울 때 SqlSessionFactory 클래스를 이용해서 데이터베이스 연결하고 처리 했었는데요... 라면서 코드를 몇개 보여줬습니다. 스프링에서 마이바티스를 사용하기 위한 설정들과 클래스 였는데... 참으로 오랜만에 보는 코드였습니다. ^^ 마이바티스를 사용하려면 SQL 세션 객체가 필요합니다. 그런데 이 객체를 생성하기 위해서 SqlSessionFactory 또는 SqlSessionFactoryBean이 필요합니다. SqlSessionFactory는 MyBatis의 클래스이며, SqlSessionFactoryBean은 MyBatis-Spring의 클래스입니다. 여러분이 스프링을 사용한다면 SqlSessionFactoryBean을 이용할 것을 권장합니다. SqlSessionFactory는 스프링과 독립적으로 사용할 수 있지만, 별도의 트랜잭션 메니저가 필요합니다. 반면에 SqlSessionFactory는 스프링 전용으로 사용하며, 스프링 컨테이너에서 팩토리 빈을 생성합니다. 그래서 스프링의 트랜잭션 관리와 자동을 통합됩니다. 스프링 프로젝트에서 마이바티스를 이용해서 데이터베이스에 연결하려면 SqlSessionFactoryBean을 사용하세요.