JDBC中的事务 |学习笔记-阿里云开发者社区

开发者社区> 【开发者学堂】官方技术圈> 正文
登录阅读全文

JDBC中的事务 |学习笔记

简介: 快速学习JDBC中的事务

开发者学堂课程【JDBC数据库开发进阶:JDBC中的事务 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/32


JDBC中的事务


处理事务:

jdbc中处理事务,都是通过connection完成,都是自动提交,手动提交就是开启事务。

 

自动提交:

既执行一条可提交,不用我们提交,事务往往是把多个事务弄在一起,往往是try开始时提交事务,结束时提交事务,如未发生错误,则执行事务,如发生错误,在commit时发生异常,它本身不可能异常,如异常则可能是失联,这时回滚即可。

 

如未提交事务,回滚事务,这时事务自动回滚 以失败告终,格式极其重要 接下来就是写代码。

 

 数据库:

首先我们写项目的时候,要导包,mysql驱动导进来,现在的项目,需要将准备工作做好,如以前的小工具都需提前弄好,演示转账,得有一个daodao里面写一个updatebalanca,告诉金额,指定用户的余额,用runtime作一个转换,得到指定工具。

 

第二件事要给出sql模板,创建pstmt,所有参数都用问号代替,,再下一步,对参数进行赋值,问号的顺序需要明白,最后执行,用executeupdate。转账方法,fromto

 

格式:

开启事务…提交事务,回滚事务,对事务的操作必须使用connection对象。要保证在一个事务内,必须前后使用一个connection对象,如是不同的connection,则不是一个对象,创建事务对象,在开启事务和提交事务的中间,给from减去相应金额,给to加上相应金额在这中间抛一个异常,这两句使用的connection不能保证都是同一个。

所有对connection的操作都在service层进行的处理,明天要去处理这一问题,把所有对connection的操作隐藏起来,需要自定义的工具隐藏起来。

 

 

 boolean.

 

设置是否为自动提交事务,如果true(默认值是true)表示自动提交,也就是每条执行的SQL语句都是一个单独的事务,如果设置false,那么就相当于开启了事务了

  con.setautocommit(false):

表示开启事务!给from减去相应金额  给to减去相应金额

  commit():

提交结束事务;con.commit();表示提交事务。

  rollback():

回滚结束事务。

con.rollback();

表示回滚事务。

对事务的操作必须使用connection对象,同一事务中的所有操作,都是使用同一个connection对象。

如果N次使用的都是不同的connection对象,那么就不是同一操作。

 

 

  public void

 

1.   得到连接对象 

2.   给出sq1模板,创建pstmt 

3.  对参数进行赋值 

4.  执行之

演示所有对connection的操作都在service层进行的处理,把所有对connection的操作隐藏起来,这需要使用自定义的小工具,所有对事务的控制都转移到public class 修改指定用户的余额,param name param balance

列入转账,要public class 转账方法,从fromto

创建dao对象,在原先基础上加上相应金额或者减去相应金额,

 

所有对连接的管理都转移到业务上了。

 

 

 

 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

阿里云开发者学堂,是开发者学习成长的一站式学习平台。平台源源不断的生产优质体系化课程、优质内容如电子书、直播、体验场景、训练营等,为开发者构建完善的学习成长体系,为开发者赋能。目前,开发者学堂包含数据库、大数据、云原生、AI、IoT等各大热门领域精品课,全部免费对开发者开放。

官方博客
最新文章
相关文章
官网链接