springboot事务_Springboot官方例子--使用数据库事务

本指南将引导您完成用非侵入性事务操作数据库的过程,您将构建一个简单的JDBC应用程序,在该应用程序中,您可以使用事务操作数据库,而无需编写专门的JDBC代码。数据库事务是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。在实际项目中,经常用到,比如转帐,一个人的增加,一个人的钱减少,这个必须要一起完成,不能一个人钱增加了,另一个人钱没减少;或一个人钱减少,另一个人钱没增加。这些操作就需要放在一个事务里。面试经常问到事务的ACID的问题,大家可以自行了解。

我利用业余时间,翻译了Spring官网的例子,方便中文不好的同学,将陆续发到头条上,欢迎大家关注,也可以上我个人BLOG:itmanclub.com,上面有已经翻译过的。

93827ff45ca782a6565664e36a54d807.png

程序结构

└── src └── main └── java └── hello

pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>4.0.0org.springframework gs-managing-transactions 0.1.0org.springframework.boot spring-boot-starter-parent 2.1.6.RELEASE1.8org.springframework.boot spring-boot-starter-jdbc com.h2database h2 runtimeorg.springframework.boot spring-boot-maven-plugin 

Spring Boot将会你做如下的事:

  • 将 classpath 里面所有用到的jar包构建成一个可执行的 JAR 文件,方便执行你的程序
  • 搜索public static void main()方法并且将它当作可执行类
  • 根据springboot版本,去查找相应的依赖类版本,当然你可以定义其它版本。

创建一个定单服务

从考虑服务交互开始这个过程。

首先,使用BookingService类创建一个基于JDBC的服务,该服务按名称将人员预订到系统中。

src/main/java/hello/BookingService.java

package hello;import java.util.List;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.stereotype.Component;import org.springframework.transaction.annotation.Transactional;@Componentpublic class BookingService { private final static Logger logger = LoggerFactory.getLogger(BookingService.class); private final JdbcTemplate jdbcTemplate; public BookingService(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } @Transactional public void book(String... persons) { for (String person : persons) { logger.info("预定 " + person + " 在一个座位上..."); jdbcTemplate.update("insert into BOOKINGS(FIRST_NAME) values (?)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值