当前较为主流/活跃的orm有gorm、xorm、gorose等。 (推荐学习:go)

xorm

支持的数据库有:mysql、mymysql、postgres、tidb、sqlite、mssql、oracle

事务性支持

链式api

has, err := engine.Where("name = ?", name).Desc("id").Get(&user)err := engine.Where(builder.NotIn("a", 1, 2).And(builder.In("b", "c", "d", "e"))).Find(&users)

支持原生sql操作

查询缓存

可根据数据库反转生成代码

级联加载

提供sql语句日志输出

支持批量查询处理

gorm

hook机制(Before/After Create/Save/Update/Delete/Find)

对象关系Has One, Has Many, Belongs To, Many To Many, Polymorphism

热加载

支持原生sql操作

事务性

链式api

tx := db.Where("name = ?", "jinzhu").Where("age = ?", 20).Find(&users)

支持的数据库有:mysql、postgre、sqlite、sqlserver

查询操作

gorose

支持的数据库有:mysql、postgres、sqlite、mssql、oracle

链式api

同时连接多个数据库和切换

支持原生sql操作

支持批量查询处理

事务性

相似性

各orm支持的数据库都基本相同(主流数据库都支持)

支持事务性、链式查询等

差异

xorm、gorose支持批量查询处理

xorm支持主从式读写分离

gorm支持热加载

gorose便于在多个数据库切换

文档全面性gorm>xorm>gorose

更多相关文章

  1. golang使用什么数据库?
  2. Go语言中操作MySQL数据库的方法
  3. golang如何连接数据库
  4. 用go实现路由的链式定义
  5. 在使用database/sql时应避免掉进这11个坑 !(Go 数据库)
  6. 关于Golang 全局sql数据库连接
  7. 基于关系型数据库引擎的"XML"索引技术
  8. 从无到有实现一个xml数据库登录验证
  9. XML数据库中几个容易混淆的概念详细介绍

随机推荐

  1. 修改Android Media Scanner的扫描路径
  2. Android 线性布局详解
  3. Android中的Binder详解
  4. 编译Android内核 For nexus 5 以及绕过An
  5. Android 支持不同(本地化、屏幕、版本)设备
  6. android的Instrumentation详解
  7. unity与android的无缝连接
  8. Android:Task概念以及相关
  9. 尚硅谷15天Android基础笔记
  10. Android 实现ListView 3D效果 - 2 - 弹性