欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
全部教程·
Go语言·
Xorm框架
[目录]
·
Xorm 事务处理
Xorm框架 教程
Xorm 引擎
Xorm 单库引擎 Xorm 引擎组 Xorm 引擎组负载策略Xorm 表结构体
Xorm 名称映射规则 Xorm 名称映射前后缀 Xorm 改变映射名称 Xorm Column属性定义 Xorm Go与字段对应表Xorm 数据库操作
Xorm 表结构操作 Xorm 同步数据库结构 Xorm 导出导入SQL Xorm 插入数据 Xorm 记录创建时间Xorm 查询数据
Xorm 查询方法 Xorm 临时开关方法 Xorm Get方法 Xorm Exist方法 Xorm Find方法 Xorm Join语句 Xorm Iterate方法 Xorm Count方法 Xorm Rows方法 Xorm Sum方法Xorm 更新数据
Xorm 更新数据 Xorm 乐观锁 Xorm 更新时间Xorm 删除数据
Xorm 删除数据Xorm SQL
Xorm 执行原生 SQLXorm 高级操作
Xorm 事务处理 Xorm 缓存处理 Xorm 事件处理 Xorm 常用工具 Xorm 常见问题
Xorm框架 教程
Xorm 引擎
Xorm 单库引擎 Xorm 引擎组 Xorm 引擎组负载策略Xorm 表结构体
Xorm 名称映射规则 Xorm 名称映射前后缀 Xorm 改变映射名称 Xorm Column属性定义 Xorm Go与字段对应表Xorm 数据库操作
Xorm 表结构操作 Xorm 同步数据库结构 Xorm 导出导入SQL Xorm 插入数据 Xorm 记录创建时间Xorm 查询数据
Xorm 查询方法 Xorm 临时开关方法 Xorm Get方法 Xorm Exist方法 Xorm Find方法 Xorm Join语句 Xorm Iterate方法 Xorm Count方法 Xorm Rows方法 Xorm Sum方法Xorm 更新数据
Xorm 更新数据 Xorm 乐观锁 Xorm 更新时间Xorm 删除数据
Xorm 删除数据Xorm SQL
Xorm 执行原生 SQLXorm 高级操作
Xorm 事务处理 Xorm 缓存处理 Xorm 事件处理 Xorm 常用工具 Xorm 常见问题Xorm 事务处理
Xorm 支持事务处理。当使用事务处理时,需要创建Session对象。在进行事物处理时,可以混用ORM方法和RAW方法,如下代码所示:
session := engine.NewSession()
defer session.Close()
// add Begin() before any action
err := 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 actions
err = session.Commit()
if err != nil {
return
}
- 注意如果您使用的是mysql,数据库引擎为innodb事务才有效,myisam引擎是不支持事务的。
下一章:Xorm 缓存处理
Xorm 内置了一致性缓存支持,不过默认并没有开启。要开启缓存,需要在 engine 创建完后进行配置。启用一个全局的内存缓存:cacher := xorm.NewLRUCacher(xorm.NewMemoryStor ...
AI 中文社