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对象,在原先基础上加上相应金额或者减去相应金额,

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

相关文章
|
10月前
|
机器学习/深度学习 人工智能 弹性计算
AI剧本生成与动画创作解决方案评测:这项技术能为短视频创作带来哪些改变?
随着短视频行业的竞争加剧,创作速度和质量成为关键。阿里云的《AI剧本生成与动画创作》解决方案利用NLP和计算机视觉技术,通过简单的关键词或主题自动生成剧本和动画,显著提高创作效率并降低技术门槛。评测显示,该方案能在几小时内完成从剧本到动画的创作,适应市场热点需求。然而,AI在创意表达和细节处理上仍有一定局限性,尤其在高要求创作中表现不如手工精细。尽管如此,对于需要快速响应市场的创作者来说,这一工具无疑是一个巨大的助力,未来有望进一步提升创作灵活性和效率。
460 3
|
自然语言处理 前端开发 Linux
在Linux中,什么是 GUI?
在Linux中,什么是 GUI?
|
自然语言处理 安全 区块链
Chatchat:为语言链而生的新时代
Chatchat:为语言链而生的新时代
626 9
|
数据采集 弹性计算 供应链
付费类型选择全解析:包年包月、按量付费和抢占式实例
阿里云服务器付费模式包括包年包月、按量付费和抢占式实例。包年包月适合长期稳定使用,价格优惠,支持备案;按量付费适合短期或波动需求,按小时计费;抢占式实例价格低廉但可能被系统自动释放,适合无状态应用。选择时考虑业务需求的稳定性和资源成本。更多详情见阿里云官方文档。
489 0
HDLC与PPP的区别
【4月更文挑战第11天】
812 0
HDLC与PPP的区别
|
存储 物联网 程序员
C语言与硬件交互
C语言因其低级别特性和高性能在系统编程和硬件交互中广泛应用。它提供内存操作和底层指令调用来直接控制硬件,尤其是在嵌入式系统、操作系统内核和驱动开发中。通过指针操作内存地址实现硬件寄存器的读写,或使用内联汇编调用底层指令,但要注意权限、内存映射、并发问题和硬件差异。文中还给出了简单的读写硬件状态和控制设备的C语言代码示例。在高级应用中,C语言用于编写驱动程序和实时操作系统,是底层开发的关键技能。
|
搜索推荐 定位技术 数据安全/隐私保护
方便、免费的PDF在线处理网站汇总:PDF合并、文字编辑、页面提取与删除、格式转换…
方便、免费的PDF在线处理网站汇总:PDF合并、文字编辑、页面提取与删除、格式转换…
565 1
|
网络协议 Linux
嵌入式单片机开源的串口示波器实现方法
嵌入式单片机开源的串口示波器实现方法
295 0
|
Ubuntu Java Linux
Manjaro Linux 入门使用教程
Manjaro Linux 入门使用教程
981 1
Manjaro Linux 入门使用教程
|
弹性计算 安全 Linux
新手使用阿里云ECS服务器安装宝塔linux面板建站图文教程
新手使用阿里云ECS服务器安装宝塔linux面板建站图文教程,阿里云服务器网以CentOS操作系统为例,安装宝塔Linux面板,先远程连接到云服务器,然后执行宝塔面板安装命令,系统会自动安装宝塔面板,安装完成后会返回面板地址、账号和密码,然后在安全组开通宝塔面板端口号
613 0