Spring事务原理

    
//相当于开启事务
//当我们execute的时候,就和服务端建立链接
   dataSource.getConnection().createStatement();
//事务的回滚 dataSource.getConnection().rollback(); //默认的话是自动提交,所有的事务操作框架都会把autoCommit改成false,否则的话无法手动干预 dataSource.getConnection().setAutoCommit(false); //只读事务 dataSource.getConnection().setReadOnly(true); //事务的提交 dataSource.getConnection().commit();

1、数据库操作,都会通过事务来管理

ACID,最大的问题,解决数据一致性的问题,能量守恒
 
分布式:分布式事务处理瞬时一致性,通常说的是最终的一致性(异步核对,主流的方式就通过日志)
 
事务的操作流程:事务只是一种思想,该如何用技术实现

 

 

 

 像一般操作的Connection(接口)类,这个类是java客户端和数据库事务通信的桥梁,也就是一个包装类,就是一个TCP链接,底层就是socket

但java自己不实现,只是提供这个封装,提供这个JDK,让其他相关数据库厂商自己实现,所以我们要单独导入类似Mysql的jar包

 

 

 DataSource就是一个Connection的wrapper,也就是Connection的一个包装器

 

3.

 

 抛出异常回滚,在Spring中异常是要配置的,只有抛出了配置了的异常才会回滚

 

posted @ 2020-01-08 12:51  MonsterZL  阅读(190)  评论(0编辑  收藏  举报