jdbc mysql事务源代码_SpringAOP——通过JdbcTemplate连接数据库,并使用事务(Transactional)(使用IDEA进行编程)...

JdbcTemplate:用于操作数据库,与Dbutils一样,是一个操作数据库的工具。

首先声明事物是很简单的,只是为了展现例子,需要做很多准备工作。

1)使用c3p0获取连接:

先导入mysql的jar包:  mysql-connector-java-8.0.16.jar

再导入c3p0的3个jar包:  c3p0-0.9.5.2.jar  c3p0-oracle-thin-extras-0.9.5.2.jar  mchange-commons-java-0.2.11.jar

下载地址:https://sourceforge.net/projects/c3p0/files/latest/download?source=files  ——等待一会自动弹出下载框

c3p0的基础知识:https://www.cnblogs.com/ygj0930/p/6405861.html

2)创建配置文件:

先创建:db.properties  https://blog.csdn.net/u013164931/article/details/76283884

jdbc.user=root

jdbc.pssward=123456

jdbc.driverClass=com.mysql.cj.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT

jdbc.initPoolSize=5

jdbc.maxPoolSize=10

配置xml文件

class="com.mchange.v2.c3p0.ComboPooledDataSource">

这个时候要记得测试资源配置有没有问题

3)配置JdbcTemplate

这个时候要记得测试

4)事物的准备工作:

数据库:

CREATE TABLE `student`.`book` (

`isbn` VARCHAR(50) NOT NULL,

`book_name` VARCHAR(100) NULL,

`price` INT NULL,

PRIMARY KEY (`isbn`));

CREATE TABLE `student`.`book_stock` (

`isbn` VARCHAR(50) NOT NULL,

`stock` INT NULL,

PRIMARY KEY (`isbn`));

CREATE TABLE `student`.`account` (

`username` VARCHAR(50) NOT NULL,

`balance` INT NULL,

PRIMARY KEY (`username`));

基本的方法:

代码不贴了。。。

5)声明式事务: XML配置文件,配置两个

注:启用事务注解的资源头文件为xmlns:tx="http://www.springframework.org/schema/tx"

在要启用事务的方法前面@Transactional写上注解

//在方法写注解,启用事务

@Transactional

@Override

public void purchase(String username, String isbn) {

//1获取书的单价

int price=bookShopDao.findBookPriceByIsbn(isbn);

//2更新库存

bookShopDao.updateBookStock(isbn);

//3 更新账号余额

bookShopDao.updateUserAccunt(username,price);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值