「java事物的执行过程」java 执行过程

博主:adminadmin 2022-12-31 12:24:07 679

今天给各位分享java事物的执行过程的知识,其中也会对java 执行过程进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

事务是什么?在java中如何手工执行事务

事务 指作为单个逻辑工作单元执行的一系列操作。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性;

在java中你要手工执行事务,如果是jdbc连接数据库,那么就设置提交的时候手动提交

conn.setAutoCommit(false);//conn 是connection对象

当结束后

conn.commit();

希望对你有帮助

java中的事务

如果你用Spring框架,Spring中可以实现事务管理,在spring 配置文件中配置事务管理器,也可以使用Spring注解式事务,在方法上加上@Transactional注解。

@Transactional

public void save() {

//你的代码逻辑

}

如果没有使用Spring框架,可以用JDBC处理事务,如下:

try{

con.setAutoCommit(false);//开启事务 ......

con.commit();//try的最后提交事务

} catch() {

con.rollback();//回滚事务

}

java中什么是事务

一、什么是Java事务

通常的观念认为,事务仅与数据库相关。

事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性

(isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示

当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态。隔离性表示在事务执行过程中对数据的修改,在事务提交之前对其他事务不可见。持

久性表示已提交的数据在事务执行失败时,数据的状态都应该正确。

通俗的理解,事务是一组原子操作单元,从数据库角度说,就是一组SQL指令,要么全部执行成功,若因为某个原因其中一条指令执行有错误,则撤销先前执行过的所有指令。更简答的说就是:要么全部执行成功,要么撤销不执行。

既然事务的概念从数据库而来,那Java事务是什么?之间有什么联系?

实际上,一个Java应用系统,如果要操作数据库,则通过JDBC来实现的。增加、修改、删除都是通过相应方法间接来实现的,事务的控制也相应转移到Java程序代码中。因此,数据库操作的事务习惯上就称为Java事务。

二、为什么需要事务

事务是为解决数据安全操作提出的,事务控制实际上就是控制数据的安全访问。具一个简单例子:比如银行转帐业务,账户A要将自己账户上的1000元

转到B账户下面,A账户余额首先要减去1000元,然后B账户要增加1000元。假如在中间网络出现了问题,A账户减去1000元已经结束,B因为网络中

断而操作失败,那么整个业务失败,必须做出控制,要求A账户转帐业务撤销。这才能保证业务的正确性,完成这个操走就需要事务,将A账户资金减少和B账户资

金增加方到一个事务里面,要么全部执行成功,要么操作全部撤销,这样就保持了数据的安全性。

java事务处理

如果对数据库进行多次操作,每一次的执行或步骤都是一个事务.如果数据库操作在某一步没有执行或出现异常而导致事务失败,这样有的事务被执行有的就没有被执行,从而就有了事务的回滚,取消先前的操作.....

JavaBean中使用JDBC方式进行事务处理

public int delete(int sID) {

  dbc = new DataBaseConnection();

  Connection con = dbc.getConnection();

  try {

con.setAutoCommit(false);// 更改JDBC事务的默认提交方式

dbc.executeUpdate("delete from xiao where ID=" + sID);

dbc.executeUpdate("delete from xiao_content where ID=" + sID);

dbc.executeUpdate("delete from xiao_affix where bylawid=" + sID);

con.commit();//提交JDBC事务

con.setAutoCommit(true);// 恢复JDBC事务的默认提交方式

dbc.close();

return 1;

  }

  catch (Exception exc) {

con.rollBack();//回滚JDBC事务

exc.printStackTrace();

dbc.close();

return -1;

  }

}

在数据库操作中,一项事务是指由一条或多条对数据库更新的sql语句所组成的一个不可分割的工作单元。只有当事务中的所有操作都正常完成了,整个事务才能被提交到数据库,如果有一项操作没有完成,就必须撤消整个事务。

例如在银行的转帐事务中,假定张三从自己的帐号上把1000元转到李四的帐号上,相关的sql语句如下:

update account set monery=monery-1000 where name='zhangsan'

update account set monery=monery+1000 where name='lisi'

这个两条语句必须作为一个完成的事务来处理。只有当两条都成功执行了,才能提交这个事务。如果有一句失败,整个事务必须撤消。

在connection类中提供了3个控制事务的方法:

(1) setAutoCommit(Boolean autoCommit):设置是否自动提交事务;

(2) commit();提交事务;

(3) rollback();撤消事务;

在jdbc api中,默认的情况为自动提交事务,也就是说,每一条对数据库的更新的sql语句代表一项事务,操作成功后,系统自动调用commit()来提交,否则将调用rollback()来撤消事务。

在jdbc api中,可以通过调用setAutoCommit(false) 来禁止自动提交事务。然后就可以把多条更新数据库的sql语句做为一个事务,在所有操作完成之后,调用commit()来进行整体提交。倘若其中一项sql操作失败,就不会执行commit()方法,而是产生相应的sqlexception,此时就可以捕获异常代码块中调用rollback()方法撤消事务。

java事物的执行过程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 执行过程、java事物的执行过程的信息别忘了在本站进行查找喔。