您的位置:首页 > 编程语言 > Java开发

在Spring Boot中使用数据库事务

2017-07-21 23:28 411 查看
一:在springboot启动类中添加注释 :@EnableTransactionManagement

@EnableDiscoveryClient
@SpringBootApplication
@EnableFeignClients
@EnableTransactionManagement
public class DeploymentServiceApplication {

public static void main(String[] args){
SpringApplication.run(DeploymentServiceApplication.class, args);
}

}


二:在相应地方加上注解:@Transactional 即可

@Service
public class DemoServiceImpl implements DemoService {
@Autowired
PersonRepository personRepository;

@Transactional(rollbackFor = {IllegalArgumentException.class})
@Override
public Person savePersonWithRollBack(Person person) {
Person p = personRepository.save(person);
if (person.getName().equals("sang")) {
throw new IllegalArgumentException("sang 已存在,数据将回滚");
}
return p;
}

@Transactional(noRollbackFor = {IllegalArgumentException.class})
@Override
public Person savePersonWithoutRollBack(Person person) {
Person p = personRepository.save(person);
if (person.getName().equals("sang")) {
throw new IllegalArgumentException("sang已存在,但数据不会回滚");
}
return p;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: