「java事务回滚」java事务回滚是什么意思
今天给各位分享java事务回滚的知识,其中也会对java事务回滚是什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、事务的提交和回滚是什么意思 Java
- 2、java 事务方法调用非事务函数会回滚吗
- 3、在Java中事物的提交和回滚是什么意思?
- 4、java中jdbc多表操作如何事物回滚
- 5、什么是事务事务中的提交和回滚是什么意思
事务的提交和回滚是什么意思 Java
一组业务整体处理的行为叫一个事务。这一组的业务都能成功处理,我们就可以把这个事务提交来保存你已做的行为结果。但如果一组中有任何的差错出现的话,我们就认为这事务不成功,需要回滚来撤消之前的操作。举例:你去银行转账,转账我们有两步吧,从你账户中取出钱再往他账户中加钱。那这两步银行是必须要确保正确无误的进行的。要被看做成一个事务。其中任何一步出错就算是转账失败,但可能你这时是已经从你账户中扣了钱了,又没往他账户里加钱?怎么办算了?你不肯吧。所以银行会事务回滚,不保存你刚才的操作,即恢复到你没转账之前的状态。累啊
java 事务方法调用非事务函数会回滚吗
你测试一下就晓得了, 会回滚, 我做了测试
@Override
@Transactional(rollbackFor = Exception.class)
public void test() {
TbLog log = new TbLog();
log.setId("3");
log.setOperationContent("事物回滚测试:有回滚注解");
tbLogService.create(log);
test1();
}
private void test1(){
for (int i = 1; i 3 ; i++) {
if (i==2){
throw new RestClientException("事物回滚测试");
}
TbLog log = new TbLog();
log.setId(String.valueOf(i));
log.setOperationContent("事物回滚测试:没注解");
tbLogService.create(log);
}
}
下面这种配置了不回滚的类型就不会回滚
@Override
@Transactional(rollbackFor = Exception.class,noRollbackFor = RestClientException.class)
public void test() {
TbLog log = new TbLog();
log.setId("3");
log.setOperationContent("事物回滚测试:有回滚注解");
tbLogService.create(log);
test1();
}
private void test1(){
for (int i = 1; i 3 ; i++) {
if (i==2){
throw new RestClientException("事物回滚测试");
}
TbLog log = new TbLog();
log.setId(String.valueOf(i));
log.setOperationContent("事物回滚测试:没注解");
tbLogService.create(log);
}
}
在Java中事物的提交和回滚是什么意思?
向数据库提交数据或修改数据,如果你觉得没有问题,就可以提交,如果其中有一个环节出错了,就可以设置回滚,可以根据判断进行回滚,不是非要出异常了才回滚,如何回滚如何提交要看你的业务逻辑。
比如:
你去银行转账,转账我们有两步吧,从你账户中取出钱再往他账户中加钱。那这两步银行是必须要确保正确无误的进行的。要被看做成一个事务。其中任何一步出错就算是转账失败,但可能你这时是已经从你账户中扣了钱了,又没往他账户里加钱,怎么办?银行会事务回滚,不保存你刚才的操作,即恢复到你没转账之前的状态。
java中jdbc多表操作如何事物回滚
可以把要执行的四个SQL语句写到同一个List中再调用此方法
你也可以自己写
主要注意
执行sql插入前要取消自动提交
con.setAutoCommit(false);
全部sql语句执行完成后再提交
con.commit();
执行过程抛出异常则回滚
con.rollback();
希望对你有帮助
public
boolean
exeupdate(ListString
sqls)
throws
SQLException
{
boolean
flag
=
false;
openPoolConnection();//创建连接
try
{
//
con.setAutoCommit(false);//取消自动提交
for(int
i=0;isqls.size();i++)
{
pstmt
=
con.prepareStatement(sqls.get(i));
int
rows
=
pstmt.executeUpdate();
}
flag
=
true;
con.commit();//提交
}
catch
(Exception
e)
{
con.rollback();//回滚
e.printStackTrace();
}
finally
{
this.closeAll();//关闭连接
数据集
语句对象
}
return
flag;
}
什么是事务事务中的提交和回滚是什么意思
事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。
事务的提交是指事务里的所有操作都正常完成。
事务的回滚是指程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为。
扩展资料:
事务的特征:
事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
1、原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
2、一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
4、持久性(durability)。持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
参考资料来源:百度百科-事务
参考资料来源:百度百科-回滚
java事务回滚的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java事务回滚是什么意思、java事务回滚的信息别忘了在本站进行查找喔。
发布于:2022-11-26,除非注明,否则均为
原创文章,转载请注明出处。