본문 바로가기

Spring Boot

[SpringBoot] MyBatis로 트랜잭션 관리

반응형

1. spring-boot-starter-jdbc 및 mybatis-spring-boot-starter 종속성을 pom.xml 파일에 추가합니다.

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>2.1.3</version>
</dependency>

 

2. MyBatis를 구성하고 트랜잭션 관리를 활성화하는 구성 클래스를 만듭니다.

@Configuration
@MapperScan("com.example.demo.mapper")
public class MyBatisConfig {
 
    @Bean
    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
        SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
        sessionFactory.setDataSource(dataSource);
        return sessionFactory.getObject();
    }
 
    @Bean
    public PlatformTransactionManager transactionManager(DataSource dataSource) {
        return new DataSourceTransactionManager(dataSource);
    }
}

 

3. 트랜잭션을 수행할 메서드에 @Transactional 주석을 추가합니다.

@Service
public class UserService {
 
    @Autowired
    private UserMapper userMapper;
 
    @Transactional
    public void addUser(User user) {
        userMapper.insert(user);
    }
}

스프링 부트 응용 프로그램을 시작하고 트랜잭션 메소드를 호출하여 트랜잭션 관리를 테스트합니다.

 

반응형