JDBC 中的事务 | 学习笔记

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

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

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


JDBC 中的事务


处理事务:

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


自动提交:

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

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


数据库:

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

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

 

格式:

开启事务…提交事务,回滚事务,对事务的操作必须使用 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 转账方法,从 from 到 to。

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

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

相关文章
|
7月前
|
SQL Java 数据库连接
联表查询 && 索引 && 事务 && JDBC使用 &&CPU工作原理 && 线程概念 && Thread类的用法
联表查询 && 索引 && 事务 && JDBC使用 &&CPU工作原理 && 线程概念 && Thread类的用法
135 0
|
4月前
|
Java 关系型数据库 MySQL
JDBC学习笔记
JDBC学习笔记
|
9月前
|
SQL druid Java
JAVA进阶 JDBC技术学习笔记(四)
JAVA进阶 JDBC技术学习笔记(四)
|
5月前
|
SQL 算法 Java
jdbc(ikun)实现事务的开启,提交,回滚代码示例
jdbc(ikun)实现事务的开启,提交,回滚代码示例
|
5月前
|
XML Java 数据库连接
【Spring】JDBC、AOP、事务
【Spring】JDBC、AOP、事务
|
7月前
|
Oracle Java 关系型数据库
22JavaWeb基础 - JDBC事务
22JavaWeb基础 - JDBC事务
28 0
|
7月前
|
Java 数据库连接 数据库
JDBC学习笔记2
JDBC学习笔记2
32 0
|
7月前
|
SQL Java 关系型数据库
JDBC学习笔记
JDBC学习笔记
108 0
|
9月前
|
SQL Java 关系型数据库
JDBC学习笔记
当谈论JDBC时,我们可以将其看作是一种用于Java程序与数据库进行通信的方式。如果你想编写一个Java程序,并且希望能够连接到数据库、执行查询或更新数据,JDBC就是你需要的工具。JDBC提供了一组类和接口,可以帮助我们连接到数据库、执行SQL语句(例如查询、插入、更新和删除数据),并获取执行结果。
55 0
|
9月前
|
SQL Java 关系型数据库