当前位置:  技术问答>java相关

事务是否只于数据的更新有关,而与查询无关呢?

    来源: 互联网  发布时间:2017-04-20

    本文导语:  例如: Userinfo ui=new Userinfo(); Send sd=new Send(); ......... Transaction.begin(); ui.queryByCondition(...); sd.setUserid(ui.getUserid()); sd.Insert(); ui.update(); Transaction.commit(); 如果ui.queryByCondition(...);查找失败,sd.Insert();ui.update();还会执行吗...

例如:
Userinfo ui=new Userinfo();
Send sd=new Send();
.........

Transaction.begin();
ui.queryByCondition(...);
sd.setUserid(ui.getUserid());
sd.Insert();
ui.update();
Transaction.commit();
如果ui.queryByCondition(...);查找失败,sd.Insert();ui.update();还会执行吗?
若ui.queryByCondition(...);查找成功,sd.Insert();执行失败,ui.update();还会执行吗?
我没用过事务,请给举个例子好吗?

|
都会啊,因为流水形式执行下去嘛,除非你做了异常处理。

为了处理一个以上的更新数据库的操作,我们经常会遇到要完成一个事情,但要同时两次以上更新数据库的操作的,如果一个更新失败了,那么就希望全部撤销不更新,那么我们就要用到 commit 和 rollback

例如我想先update成功后delete一条纪录,如果delete不成功那么就想刚才update的操作不做了,那么怎么办呢
try{
PreparedStatement state_sql = con.prepareStatement("update table set ....");
ui.execute();
PreparedStatement state_sql = con.prepareStatement("delete from..");
ui.execute();
}catch (SQLException e) {
con.rollback;
}
注意的事如果用了事务那么就要记住做影响数据库数据的操作后面加上commit、rollback了,要不然就会锁表之类的东西发生。select 那些不影响数据的就不用commit、rollback

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • spring的事务类型及spring和hibernate可能导致的问题分析
  • 解析mysql二进制日志处理事务与非事务性语句的区别
  • sqlserver禁止management studio的自动提交事务
  • Android 用SQLite实现事务的方法
  • EJB的事务管理
  • 事务管理器组件 OpenJTCC
  • EJB中如何处理事务
  • 求教高手ejb的事务问题!
  • 请教Java程序里面事务的应用
  • JBoss事务处理 JBossTS
  • 事务管理器 LIXA
  • 任务和待办事务管理器 PlanCake
  • jdbc问题---事务解决
  • 在jsp或javaBean中如何实现事务处理
  • 律师事务所管理程序 eLawOffice
  • 浅析SQL Server中包含事务的存储过程
  • 关于事务的问题,紧急求教!!!
  • java 如何编程实现数据库事务
  • 事务存储引擎 SimpleDBM
  • 开源事务管理器 JOTM
  • 事务处理工具 Atomikos


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3