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类中,通过调用类的方法快速实现对事务的操作。

  • 相关阅读:
    数据类型比较(==)
    uniapp(一)
    小程序分包
    小程序网易云(五)
    java.lang的详解
    有哪些日常节省时间的诀窍?
    怎么把知乎的回答转化成自己的知识?
    linux下搭建hadoop环境
    linux下,免密码登录
    mac下创建用户及赋予sudo权限
  • 原文地址:https://www.cnblogs.com/zhangrui0328/p/9307258.html
Copyright © 2011-2022 走看看