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

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

相关文章
|
SQL Java 数据库连接
联表查询 && 索引 && 事务 && JDBC使用 &&CPU工作原理 && 线程概念 && Thread类的用法
联表查询 && 索引 && 事务 && JDBC使用 &&CPU工作原理 && 线程概念 && Thread类的用法
161 0
|
4月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
60 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
4月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
170 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
4月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
40 6
|
4月前
|
存储 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
71 4
|
4月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(中)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
35 3
|
7月前
|
Java 关系型数据库 MySQL
JDBC学习笔记
JDBC学习笔记
|
7月前
|
SQL 算法 Java
jdbc(ikun)实现事务的开启,提交,回滚代码示例
jdbc(ikun)实现事务的开启,提交,回滚代码示例
|
7月前
|
XML Java 数据库连接
【Spring】JDBC、AOP、事务
【Spring】JDBC、AOP、事务
|
Oracle Java 关系型数据库
22JavaWeb基础 - JDBC事务
22JavaWeb基础 - JDBC事务
43 0