Spring Boot
[SpringBoot] MyBatis로 트랜잭션 관리
도쿄아재
2023. 2. 9. 00:50
반응형
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);
}
}
스프링 부트 응용 프로그램을 시작하고 트랜잭션 메소드를 호출하여 트랜잭션 관리를 테스트합니다.
반응형