• Sch0ng
    2021-08-16
    go语言中,orm使用gorm包。 gorm功能全,操作界面符合直觉,不需要额外的理解负担。

    作者回复: 是这样的,老哥学习课程很认真!

    
    6
  • Geek_004fb2
    2022-11-08 来自广东
    老师,企业级的应用往往需要在业务层处理"事物",这个模式应该如何设计比较优雅?我看了iam项目暂时没发现相关处理

    作者回复: 事务可以在 service层,不过可能要重新设计下代码了

    
    3
  • helloworld
    2021-11-09
    测试发现项目中的软删除功能不起作用, 需要将源码 https://github.com/marmotedu/component-base/blob/master/pkg/meta/v1/types.go 中的 DeletedAt *time.Time `json:"-" gorm:"column:deletedAt;index:idx_deletedAt"` 改为: DeletedAt gorm.DeletedAt `json:"-" gorm:"index;column:deletedAt"`

    作者回复: 感谢反馈,我修复下

    
    3
  • 潘达
    2021-09-15
    gorm下是否有从表中直接生成struct的工具呢,xorm下的反向生成工具还是挺实用的

    作者回复: 试试这个:https://github.com/Shelnutt2/db2struct

    
    3
  • huining
    2021-12-15
    如果按照这样写,那用不了事务啊,比如老师的代码里删除用户时,是先调用polices.delete(),然后再delete用户,那假如中途出错,也无法回滚。我的做法是再加一个*DB参数,但是感觉写起来很丑,方法里要判断之前是否启动了事务。所以如果想要添加对事务的支持应该怎么做呢?

    作者回复: 如果要用事务,肯定是要传*db参数。 或者在失败时调用defer func() {s.srv.Delete()}()这样的语句,来回滚

    
    2
  • yandongxiao
    2021-12-03
    总结: 1. 首先定义一个 GORM 模型(Models),GORM模型就是一个普普通通的golang struct。使用结构体名的 snake_cases 作为表名,使用字段名的 snake_case 作为列名。 2. gorm.Model 为表增加了 ID、CreatedAt、UpdatedAt、DeletedAt 等字段。如果是资源表,建议统一资源的元数据。参见第29章节。 3. 在结构体中,通过 tag,指定数据库中字段的名称。 4. gorm 支持表CRUD操作,每种操作也会有各种变形,与 数据库操作相对应。

    作者回复: 6666

    
    2
  • XI
    2021-10-12
    go的连接池网上教程有点少,go 连接redis,monggodb 应该都需要连接池,gorm官方文档连接池的讲解也是寥寥数语,老师能不能详细补充点连接池相关的,如何使用,如果能再加上redis ,mongdb 的连接池一类的就更好了

    作者回复: 回头整理下。

    
    2
  • wei 丶
    2022-08-01 来自广东
    孔大,ent咋样 有没有ent的讲解呢 👀

    作者回复: 感觉gorm才是王道

    
    1
  • 邵俊达
    2021-12-14
    请问 gorm 如何处理操作多张表的事务?比如类似 ``` begin User.save Book.update Account.update commit ``` 用 gorm 的 transaction 就要用他的 tx 来操作数据,那封装好的 dao 是不是就没法用了?

    作者回复: 是的,可能要用另外的封装方式了

    
    1
  • liaomars
    2021-12-03
    老师: sqlDB.SetMaxIdleConns(10) // 设置MySQL的最大空闲连接数(推荐100) 这个最大空闲连接数是10还是100?代码写的是10,注释写的是100

    作者回复: 100哈,代码我找编辑更正下。

    
    1