• Spring的事务控制-编程式事务控制相关对象


    PlatformTransactionManager

    PlatformTransactionManager接口是spring的事务管理器,提供的常用操作事

    方法说明
    TransactionStatus getTransaction(TransactionDefination defination)获取事务的状态信息
    void commit (TransactionStatus status)提交事务
    void rollback(TransactionStatus status)回滚事务

    TransactionDefination

    事务的定义信息对象,方法如下

    方法说明
    int getIsolationLevel()获取事务的隔离级别
    int getPropogationBehavior()获取事务的传播行为
    int getTimeout()获得超时时间
    boolean isReadonly()是否只读

    事务隔离级别

    设置事务的隔离级别,可以解决事务并发产生的问题,脏读、不可重复读、虚读

    事务的传播行为

    • required:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。一般的选择(默认值)
    • supports:支持当前事务,如果当前没有事务,就以非事务方式执行
    • mandatory:使用当前的事务,如果当前没有事务,就抛出异常
    • requers_new:新建事务,如果当前在事务中,就把当前事务挂起来
    • not_supported:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起来
    • never:以非事务方式执行操作,如果当前存在事务,抛出异常
    • nested:如果当前存在事务,就嵌套事务内执行。如果当前没有事务,就执行required类似操作
    • 超时时间:默认值为-1,没有超时时间。有,就以秒为单位
    • 是否只读:建议查询设置为只读

    TransactionStatus

    TransactionStatus接口提供的是事务具体的运行状态,方法如下

    方法说明
    boolean hasSavepoint()是否存储回滚点
    boolean isCompleted()事务是否完成
    boolean isNewTransaction()是否是新事务
    boolean isRollbackOnly()事务是否回滚
  • 相关阅读:
    Python基础知识入门(二)
    朴素贝叶斯Naive Bayesian分类器 (NBC)
    站长号平台新版友情链接交换上线
    【LeetCode-中等题】199. 二叉树的右视图
    深度学习 常见的损失函数
    Session会话追踪的实现机制
    树与二叉树堆:树
    Go:TernarySearch三元搜索(附完整源码)
    导入发运地点wsh_locations
    文件操作【c语言】
  • 原文地址:https://blog.csdn.net/ChenfengZhang/article/details/127098199