更新时间:2024-10-23 GMT+08:00
分享

beego-orm

创建github.com/astaxie/beego/orm包orm.Ormer数据源,进行mysql操作

依赖引入,配置文件或配置信息修改参考原生DB

初始化创建beego-orm数据源DevSporeOrm,后续执行Mysql相关操作。

由于beego-orm需要注册使用的model,以Teacher,Student为例。
type Teacher struct {
 Id   int
 Name string
 Age  int
}
type Student struct {
 Id   int
 Name string
 Age  int
}
  • 配置文件方式创建。
    import (
        "log"
    
        "github.com/astaxie/beego/orm"
        _ "github.com/huaweicloud/devcloud-go/sql-driver/mysql"
    )
    var (
        DevSporeOrm orm.Ormer
        err error
    )
    func init() {
        // 1 注册devspore_mysql
        err = orm.RegisterDriver("devspore_mysql", orm.DRMySQL)
        if err != nil {
            log.Fatalln(err)
        }
        // 2 注册使用model
        orm.RegisterModel(new(Teacher),new(Student))
        // 3 创建数据源
        err = orm.RegisterDataBase("default", "devspore_mysql", "./conf/resources/config_mysql.yaml")
        if err != nil {
            log.Fatalln(err)
        }
        DevSporeOrm = orm.NewOrm()
    }
  • 配置信息方式创建。
    import (
        "log"
    
        "github.com/astaxie/beego/orm"
        devspore "github.com/huaweicloud/devcloud-go/sql-driver/mysql"
    )
    var (
        DevSporeOrm orm.Ormer
        err error
    )
    func init() {
        // 1 注册devspore_mysql
        err = orm.RegisterDriver("devspore_mysql", orm.DRMySQL)
        if err != nil {
            log.Fatalln(err)
        }
        // 2 注册使用model
        orm.RegisterModel(new(Teacher),new(Student))
        // 3 创建数据源
        devspore.SetClusterConfiguration(mysqlConfiguration())
        err = orm.RegisterDataBase("default", "devspore_mysql", "")
        if err != nil {
            log.Fatalln(err)
        }
        DevSporeOrm = orm.NewOrm()
    }

相关文档