温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JAVA如何设置手动提交事务,回滚事务,提交事务

发布时间:2020-07-30 13:51:16 来源:亿速云 阅读:1308 作者:小猪 栏目:编程语言

这篇文章主要讲解了JAVA如何设置手动提交事务,回滚事务,提交事务,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

我就废话不多说啦,还是直接看代码吧!

/**
  * 设置数据库是否自动提交事务
  * @param flag
  * @throws SQLException
  */
 public void setAutoCommit(boolean flag) throws SQLException {
  con.setAutoCommit(flag);
 }
 
 /**
  * 提交
  * @throws SQLException
  */
 public void commit() throws SQLException {
  con.commit();
 }
 
 /**
  * 回滚
  * @throws SQLException
  */
 public void rollback() throws SQLException {
  con.rollback();
 }

定义一个全局变量Connection 第一个方法设置为false就是手动提交,这种方法适用于我们删除东西后重新再添加东西,类似权限管理系统这种可以用得上

补充知识:springboot 手动开启事务,分段提交

我就废话不多说了,直接看代码吧!

List<OrdLogSyn> ordLogSynList = ordLogSynMapper.batchQuery("AP", "20190926", "0", "1000");
  for (int i = 0; i < 2; i++) {
   DefaultTransactionDefinition def = new DefaultTransactionDefinition();
   def.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_REQUIRES_NEW);
   TransactionStatus status = platformTransactionManager.getTransaction(def);
   List<OrdLogSyn> subList = null;
   if (i==0){
    subList = ordLogSynList.subList(0, 500);
   }else if (i==1){
    subList = ordLogSynList.subList(501, 1000);
   }
   for (OrdLogSyn ordLogSyn : subList) {
    int q = ordLogSynMapper.updateChkFlag(ordLogSyn.getConfirmSeqId(), ordLogSyn.getAcctDate(), "I");
    System.out.println("q = " + q);
   }
   platformTransactionManager.commit(status);
 
  }

看完上述内容,是不是对JAVA如何设置手动提交事务,回滚事务,提交事务有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI