数据库事务代码示例结合springcloud
时间: 2023-08-29 09:05:45 浏览: 93
SpringCloud示例代码
3星 · 编辑精心推荐
以下是一个简单的数据库事务代码示例,结合Spring Cloud使用:
1. 创建一个Spring Cloud服务并添加以下依赖项:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
```
2. 配置数据库连接信息:
```
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
```
3. 创建一个包含数据库事务的服务方法:
```java
@Service
public class MyService {
@Autowired
private JdbcTemplate jdbcTemplate;
@Transactional
public void performTransaction() {
// 插入数据
jdbcTemplate.update("INSERT INTO user(name, age) VALUES (?, ?)", "张三", 20);
// 更新数据
jdbcTemplate.update("UPDATE user SET age = ? WHERE name = ?", 21, "张三");
// 抛出异常
throw new RuntimeException("事务回滚测试");
}
}
```
4. 在服务方法上添加@Transactional注解,告诉Spring这个方法需要进行事务处理。
5. 在调用服务方法的代码中捕获异常,如果事务回滚成功,插入数据将不会存在数据库中。
```java
@RestController
public class MyController {
@Autowired
private MyService myService;
@RequestMapping("/testTransaction")
public String testTransaction() {
try {
myService.performTransaction();
} catch (Exception e) {
return "事务回滚成功";
}
return "事务回滚失败";
}
}
```
阅读全文