首页 > 其他分享 >17_Spring_事务环境搭建

17_Spring_事务环境搭建

时间:2023-03-04 10:32:06浏览次数:77  
标签:17 int Spring org money import com msb 搭建


 通过张三给李四转账案例演示事务的控制

1 数据库中准备表格

17_Spring_事务环境搭建_spring

applicationContext.xml
jdbc.properties
见上节课

2 项目中准备实体类
 

package com.msb.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author: Ma HaiYang
* @Description: MircoMessage:Mark_7001
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
public class Account implements Serializable {
private Integer id;
private String name;
private Integer money;
}

17_Spring_事务环境搭建_xml_02

17_Spring_事务环境搭建_xml_03

 

3 准备DAO层,创建一个根据id修改money的方法

 

package com.msb.dao;
/**
* @Author: Ma HaiYang
* @Description: MircoMessage:Mark_7001
*/
public interface AccountDao {
int transMoney(int id,int money);
}

17_Spring_事务环境搭建_spring_04

17_Spring_事务环境搭建_xml_05

 

package com.msb.dao.impl;
import com.msb.dao.AccountDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
/**
* @Author: Ma HaiYang
* @Description: MircoMessage:Mark_7001
*/
@Repository
public class AccountDaoImpl implements AccountDao {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public int transMoney(int id, int money) {
String sql ="update account set money =money +? where id =?";
return jdbcTemplate.update(sql,money,id);
}
}

17_Spring_事务环境搭建_spring_06

17_Spring_事务环境搭建_bc_07

 

4 准备Service,创建一个转账的业务方法

package com.msb.service;
/**
* @Author: Ma HaiYang
* @Description: MircoMessage:Mark_7001
*/
public interface AccountService {
int transMoney(int from ,int to,int money);
}

17_Spring_事务环境搭建_spring_08

17_Spring_事务环境搭建_spring_09

 

package com.msb.service.impl;
import com.msb.dao.AccountDao;
import com.msb.service.AccountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Author: Ma HaiYang
* @Description: MircoMessage:Mark_7001
*/
@Service
public class AccountServiceImpl implements AccountService {
@Autowired
private AccountDao accountDao;
@Override
public int transMoney(int from, int to, int money) {
int rows=0;
rows+=accountDao.transMoney(from, 0 - money);
rows+=accountDao.transMoney(to, money);
return rows;
}
}

17_Spring_事务环境搭建_bc_10

17_Spring_事务环境搭建_xml_11

 

5 测试代码,测试转账
 

package com.msb.test;
import com.msb.service.AccountService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @Author: Ma HaiYang
* @Description: MircoMessage:Mark_7001
*/
public class TestTx {
@Test()
public void testTransaction(){
ApplicationContext context =new ClassPathXmlApplicationContext("applicationContext.xml");
AccountService accountService = context.getBean(AccountService.class);
int rows = accountService.transMoney(1, 2, 100);
System.out.println(rows);
}

}

17_Spring_事务环境搭建_spring_12

17_Spring_事务环境搭建_bc_13



标签:17,int,Spring,org,money,import,com,msb,搭建
From: https://blog.51cto.com/u_15864767/6099732

相关文章

  • 20_Spring_零XML事务控制
     创建配置类 packagecom.msb.config;importcom.alibaba.druid.pool.DruidDataSource;importorg.springframework.beans.factory.annotation.Value;importorg.springf......
  • 20_Spring_零XML事务控制
     创建配置类 packagecom.msb.config;importcom.alibaba.druid.pool.DruidDataSource;importorg.springframework.beans.factory.annotation.Value;importorg.springf......
  • 在centos中搭建mysql8
    1.卸载mariadb#一般centos7会默认安装mariadb,新安装的mysql8会与它造成依赖冲突,可以按下列方式进行卸载:rpm-qa|grepmariadb#如果出现mariadb-libs-5.5.68-1.el......
  • 17_Spring_事务环境搭建
    ​ 通过张三给李四转账案例演示事务的控制1数据库中准备表格applicationContext.xmljdbc.properties见上节课2项目中准备实体类 packagecom.msb.pojo;imp......
  • 17_Spring_事务环境搭建
    ​ 通过张三给李四转账案例演示事务的控制1数据库中准备表格applicationContext.xmljdbc.properties见上节课2项目中准备实体类 packagecom.msb.pojo;imp......
  • 15_Spring_JDBCTemplate批操作
    ​ 一次连接,操作表格里的多条数据,就是批量操作1批量增加2批量修改3批量删除实体类 packagecom.msb.pojo;importlombok.AllArgsConstructor;importlomb......
  • 15_Spring_JDBCTemplate批操作
    ​ 一次连接,操作表格里的多条数据,就是批量操作1批量增加2批量修改3批量删除实体类 packagecom.msb.pojo;importlombok.AllArgsConstructor;importlomb......
  • 16_Spring_事务回顾
    1.  事务的概念事务(Transaction)指的是一个操作序列,该操作序列中的多个操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位,由DBMS中的事务......
  • 16_Spring_事务回顾
    1.  事务的概念事务(Transaction)指的是一个操作序列,该操作序列中的多个操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位,由DBMS中的事务......
  • java-spring
    1、介绍2、架构图......