数据库 参数设置为 InnoDB 否则不支持事务
//配置文件里配置方法
<!-- 配置事务管理器--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 启用事务注解--> <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>
//在对应的方法上添加事务注解
//添加事务注解 @Transactional(rollbackFor = Exception.class) @Override public void purchase(String username, String isbn) { // 1,读取书的单价 int price = bookShopDao.findBookPriceByIsbn(isbn); // 2,更新书的库存 bookShopDao.updateBookStock(isbn); // 3,更新用户余额 bookShopDao.updateUserAccount(username,price); }