• 编程式事务和声明式事务


    编程式事务需要你在代码中直接加入处理事务的逻辑,可能需要在代码中显式调用beginTransaction()、commit()、 rollback()等事务管理相关的方法,如在执行a方法时候需要事务处理,你需要在a方法开始时候开启事务,处理完后。在方法结束时候,关闭事务.

    声明式的事务的做法是在a方法外围添加注解或者直接在配置文件中定义,a方法需要事务处理,在spring中会通过配置文件在a方法前后拦截,并添加事务.

    声明式事务:
    在配置文件中将事务配置好,通过bean的形式,调用spring的事务。然后在程序中不需要太多的事务管理代码,比如事务commit,backroll等
    程序式事务:
    就是在程序中获得spring的事务,然后通过此事务管理对象来操作事务,比如事务提交,回滚等,也就是说程序中需要通过代码的形式来管理事务。

    为什么要有事务管理?
    事务都是为了保证数据的一致和完整,保证整个操作的原子性。不论是spring事务还是×××事务,都一样。
    银行扣款流程的例子就不举了。
    一般什么时候用?
    简单的一句select就用不到事务,当然,如果你的这个select要记录日志,日志记录出错不让select,那就又是一个事务了。
    还有一些,比如,上传文件。文件保存在操作系统,相关信息保存在数据库,要么两个保存都成功,要么都失败,这么也是一个事务了。

  • 相关阅读:
    sqlalchemy学习-- 重要参数
    sqlalchemy 学习-- 多表操作
    sqlalchemy 学习--单表操作
    python 获取命令行参数
    subline 相关
    semver 版本号命名法
    nginx四层负载nginx七层负载,nginx基于nginx-sticky会话保持.
    nginx知识点汇总
    Kubernetes操作图
    redis安装和基础使用
  • 原文地址:https://www.cnblogs.com/mrxiaohe/p/5610664.html
Copyright © 2020-2023  润新知