概念
1、什么是事务:
事务时数据库操作的基本单元,逻辑上一组操作,要么都成功,如果有一个失败则所有操作都失败。
典型场景:银行转账
l a转100给b
l a减少100,b增加100 (两边都成功才能成功)
2、事务四大特性(ACID):
l 原子性:要么都成功要么失败
l 一致性:总量不变
l 隔离性:多事务操作时不产生影响
l 持久性:事务提交后数据会跟着变化
事务操作(搭建事务操作环境)
1、创建数据表
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G6396wA9-1638707576027)(file:///C:/Users/Lenovo/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg)]
2、创建service,搭建dao
(1)service注入dao,在dao注入JdbcTemplate,在JdbcTemplate注入DataSource
@Repository
public class UserService {
//注入dao
@Autowired
private UserDao userDao;
}
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private JdbcTemplate jdbcTemplate;
}
3、在dao中创建多钱和少钱的方法,在service中创建一个转账方法
@Override
public void addMoney() {
String sql="update user_db set money=money+? where username=?";
jdbcTemplate.update(sql,100,"mary");
}
@Override
public void reduceMoney()