数据库事务使用
来源:互联网 发布:联通云计算公司 编辑:程序博客网 时间:2024/06/06 02:16
使用场景:
如银行的转账操作,减去A账户的金额与增加B账户的金额
要么同时发生,要么同时不发生
当由于网络等问题导致其中一项操作没有成功时
要么全部回滚,即回到没有转账的初始状态
或者标记没有成功的地方进行执行,使之全部执行成功
使用事务的好处:
1.将相关操作放入同一个事务中,要么全部成功要么全部失败,保持了一致性
2.可将事务异步执行,减少前端等待时间,提高用户体验
3.后端代码更具低耦合性
mysql的事务使用:
beginupdate person set name='sunsun' where id =1select * from person commitselect * from person
xorm的事务使用
session := engine.NewSession()defer session.Close()// add Begin() before any actionerr := session.Begin()user1 := Userinfo{Username: "xiaoxiao", Departname: "dev", Alias: "lunny", Created: time.Now()}_, err = session.Insert(&user1)if err != nil { session.Rollback() return}user2 := Userinfo{Username: "yyy"}_, err = session.Where("id = ?", 2).Update(&user2)if err != nil { session.Rollback() return}_, err = session.Exec("delete from userinfo where username = ?", user2.Username)if err != nil { session.Rollback() return}// add Commit() after all actionserr = session.Commit()if err != nil { return}
阅读全文
0 0
- 数据库事务与使用
- 数据库事务使用范例
- 数据库事务的使用
- SQLite数据库事务使用
- 数据库事务使用
- 数据库事务简介及JDBC使用事务
- 使用事务操作SQLite数据库
- 使用事务操作SQLite数据库
- 使用事务操作SQLite数据库
- 使用事务操作SQLite数据库
- 使用事务操作android 数据库
- 使用事务操作SQLite数据库
- 使用事务操作SQLite数据库
- 使用事务操作SQLite数据库
- 使用事务操作SQLite数据库
- 使用事务操作SQLite数据库
- 数据库中事务的使用
- 在 .NET中使用Oracle数据库事务
- eval调研
- java中十六进制编码与解码
- 安装MyEclipse插件svn
- 手工创建cdb数据库(create database语句)
- Python核心数据类型及其操作
- 数据库事务使用
- JS原生放大镜
- box-shadow属性的详细描述和兼容性测试
- MySQL5.6免安装版环境配置图文教程
- android Parcelable中boolean与枚举的写法
- 幻中神,意中人
- MySQL索引背后的数据结构及算法原理
- Lambda表达式详解
- 面试题39—二叉树的深度