26|GORM(下):数据库的使用必不可少
叶剑峰
该思维导图由 AI 生成,仅供参考
你好,我是轩脉刃。
上一节课,我们梳理了 Gorm 的核心逻辑,也通过思维导图,详细分析了 Gorm 的源码搞清楚它是如何封装 database/sql 的。这节课我们就要思考和操作,如何将 Gorm 融合进入 hade 框架了。
Gorm 的使用分为两个部分,数据库的连接和数据库的操作。
对于数据库操作接口的封装,Gorm 已经做的非常好了,它在 gorm.DB 中定义了非常多的对数据库的操作接口,这些接口已经是非常易用了,而且每个操作接口在官方文档中都有对应的说明和使用教程。比如在 DB 的操作接口列表中,我们可以看到常用的增删改查的逻辑:
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入介绍了如何将Gorm集成到hade框架中,重点讲解了ORM服务的定义、服务接口、服务提供者和服务实例化。通过定义ORM服务接口,将Gorm封装为一个服务,包括服务接口、服务提供者和服务实例化。文章还讨论了数据库配置的设计和日志输出的实现。通过对Gorm的封装和服务化,使得数据库操作更加便捷和灵活。作者还提供了测试示例,展示了如何在应用中使用Gorm进行数据库操作。总的来说,本文通过深入的技术讲解和实际示例,为读者提供了深入理解Gorm集成到hade框架的思路和方法。文章还提出了关于ORM框架中model层存放位置的思考题,引发读者对该话题的思考和讨论。文章内容丰富,适合对Gorm集成和ORM框架感兴趣的读者阅读学习。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《手把手带你写一个 Web 框架》,新⼈⾸单¥59
《手把手带你写一个 Web 框架》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(4)
- 最新
- 精选
- 功夫熊猫我都是直接靠Raw直接写sql语句的。因为有时候不太好定义模型
作者回复: 还是orm之争,哈,看来老哥属于极客型
2021-11-192 - 宁建峰api_orm.go中,以下代码gin1.8.1已经过过限制了,999<code>100,所以这里使用50001,会发生panic:invalid WriteHeader code 50001 if err != nil { logger.Error(c, err.Error(), nil) c.AbortWithError(50001, err) return } gin v1.8.1 源码如下: func checkWriteHeaderCode(code int) { // Issue 22880: require valid WriteHeader status codes. // For now we only enforce that it's three digits. // In the future we might block things over 599 (600 and above aren't defined // at https://httpwg.org/specs/rfc7231.html#status.codes) // and we might block under 200 (once we have more mature 1xx support). // But for now any three digits. // // We used to send "HTTP/1.1 000 0" on the wire in responses but there's // no equivalent bogus thing we can realistically send in HTTP/2, // so we'll consistently panic instead and help people find their bugs // early. (We can't return an error from WriteHeader even if we wanted to.) if code < 100 || code > 999 { panic(fmt.Sprintf("invalid WriteHeader code %v", code)) } }2022-08-24归属地:北京3
- 老兵不知道是不是我理解不对,感觉目前gorm在数据库字段的迁移的方案还是不行。比如数据库表加一个字段,删除一个字段,用auto-migrate还是无法做到精准像active_record那样的方便吧? 不知道叶老师是否有一些golang下orm+migration的经验?2022-01-12
- 无笔秀才我觉得除了orm 还应该支持直接sql,毕竟很多人不喜欢用orm2022-01-111
收起评论