zoukankan      html  css  js  c++  java
  • 事务

    事务是指一个事的n个单元,要么一同完成,要么都完不成,避免只有部分完成所产生的问题。

    在java对mysql的操作中,使用connection的开启事务,提交事务和回滚来完成这一控制。一般而言,pst.executeUpdate()  即相当于自动提交事务,但为了使多个单元成为一个事务,不会使用这一方法。

    开启事务即事务的开启,是起点,之后的提交和回滚都要以此为基点,提交即在提交语句与回滚之间的mysql语句都持久化,而回滚则为提交语句与回滚之间的mysql语句都无效化。

    开启事务:conn.setAutoComnmit(false);

    提交事务:conn.commit();

    回滚事务:conn.rollback();

    因为dao层中每个方法都只能执行一个sql语句,为了使多个sql语句成为一个事务,这时只能在service层中进行集结,事务的开启和提交,回滚等,这时会出现两个问题,即Connection出现在service层和一个事务只能用同一个connection来开启,提交和回滚,后者虽然可以通过在service层创建connection对象并传参来解决,但这无疑会削弱分层的作用。

    通过ThreadLocal类绑定进程和connection的方法来实现同一进程都可以获得相同的connection的方法来实现多个sql语句整合为同一事务。将创建threadlocal,获得connection和开启事务,提交,回滚的方法都写入utils类中,通过调用类的方法快速实现对事务的操作。

  • 相关阅读:
    前端--页面提交重置功能
    ztree获取当前选中节点子节点id集合的方法(转载)
    sqlserver锁表、解锁、查看销表 (转载)
    解决前端文件修改后浏览器页面未更新的问题
    简单的上传文件
    如何在Eclipse中查看JDK以及JAVA框架的源码(转载)
    设计模式--观察者模式
    WebService 学习
    学习quartz定时
    JS 中AJAX,Fetch,Axios关系
  • 原文地址:https://www.cnblogs.com/zhangrui0328/p/9307258.html
Copyright © 2011-2022 走看看