博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【JDBC】事务Transaction
阅读量:4678 次
发布时间:2019-06-09

本文共 1034 字,大约阅读时间需要 3 分钟。

事务的ACID属性:

1. 原子性(Atomicity):原子在化学中,是最小单位,不可以再分割了.

原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 

2. 一致性(Consistency):包装数据的完整性.

事务必须使数据库从一个一致性状态变换到另外一个一致性状态。(数据不被破坏)

3. 隔离性(Isolation):Hibernate再讲

事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

4. 持久性(Durability):

持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响。

事务的操作:

--------------------------------------------

  事务成功: 提交事务:commit,如果事务不提交,在数据库中数据永远都不会改变;

  事务失败: 出现异常的时候,事务失败.事务回滚:rollback(取消之前所有的操作,回到事务最初的状态),释放锁资源.

 

1.在JDBC中事务是默认提交的,在执行DML/DDL操作的时候,就已经提交了事务。查询操作是没有事务的。

但是一般也会把查询操作放到事务里面。

2.如果在开发过程中,发现代码正常没有异常,但是数据库中的数据没有改变的事情下,考虑有没有提交事务。

3.在MySQL中,只有InnoDB存储引擎支持事务,支持外建。MyISAM不支持。

4.事务应该在service层控制,不要在Dao层中处理。

事务操作的模版基本上:

try{   connection.setAutoCommit(false);//设置关闭自动提交事务  ///各种数据操作///  connection.commit();//提交事务} catch (Exception e) {            connection.rollback();//事务的回滚。            e.printStackTrace();    }finally {            JdbcUtil.close(connection, preparedStatement, resultSet);}

 

转载于:https://www.cnblogs.com/741162830qq/p/6733605.html

你可能感兴趣的文章
mysql数据工厂生产_MySQL超时与天蓝色数据工厂副本
查看>>
python缩进可以用在任何语句之后_每天一道Python选择题--python缩进
查看>>
mysql查询左边大于左边_MySQL WHERE 子句
查看>>
java 获取颜色_java关于照片属性的获取,颜色模式
查看>>
session丢失原因 java_session没有过期,其保存的数据无故丢失的原因
查看>>
java pkcs 11 write_java pkcs#11读取证书加解密(初学-分享)
查看>>
tranisant java_java tranisant
查看>>
java ibatis 存储过程_ibatis 调用存储过程
查看>>
java中的softreference_Java语言中内存优化的SoftReference 和 WeakReference的对比分析
查看>>
java提供了丰富的类库_Java优势有哪些?
查看>>
java 过滤器权限控制_JAVA过滤器,实现登陆权限限制
查看>>
设计模式java 模板模式_java设计模式--模板方法模式
查看>>
中缀转后缀 java_Java 利用堆栈将中缀表达式转换成后缀
查看>>
java执行sql解析_java执行SQL语句实现查询的通用方法详解
查看>>
java中keepalived开启方式_高可用之KeepAlived(一):基本概念和配置文件分析
查看>>
java中的ejb_JAVA语言中关于EJB技术概论
查看>>
java有date类型吗_关于java中date类型的问题
查看>>
java中svg图片怎么用_svg如何使用
查看>>
java dart 官司_From Java to Dart
查看>>
java ftp 读取excel_从Excel文件读取数据表
查看>>