这期内容当中的小编将会给大家带来有关go语言中的orm,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
当前较为主流/活跃的orm有gorm、xorm、gorose等。
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
以上就是golang 是否需要orm的详细内容,更多请关注亿速云其它相关文章!
上述就是小编为大家分享的go语言中的orm了,如果您也有类似的疑惑,不妨碍参照上述分析进行理解。如果想了解更多相关内容,请关注亿速云行业资讯。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。