GOLANG BEEGO ORM

前端之家收集整理的这篇文章主要介绍了GOLANG BEEGO ORM前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

GOLANG BEEGO ORM


每种语言一旦开始步入生产环节都不可避免对数据库操作,ORM 为业务逻辑与底层数据库操作建立起一座桥梁,使得业务对象能直接映射到数据库对象上,减少了数据库的误操作,同时也使得业务代码更加清晰。语言一旦开始成熟,都会有相应的 ORM 框架出现,这些框架大部分都是语言的第三方库。如同 JAVA 的 Hibernate、Mybatis,C#的 LINQ 等,GO语言也有一些 ORM 框架,这里根据个人使用经历对 BEEGO 的 ORM 框架从代码层面进行一个简单说明。

基本用法

  • 依赖库

    import "github.com/astaxie/beego/orm"
    import _ "github.com/go-sql-driver/MysqL"
  • 映射对象定义

    type User struct { Id int `orm:"pk;auto"` Name string Age int Date time.Time } 

    其中使用标注对主键进行声明,这里其实不声明也行,因为该框架默认使用Id作为主键

  • 初始化

orm.RegisterModel(new(User))  //注册
    orm.RegisterDriver("MysqL",orm.DRMysqL)  //注册数据库驱动,这里用的MysqL
    orm.RegisterDataBase("default","MysqL","xxx:xxx@/xxx?charset=utf8")  //注册数据库
    orm.RunSyncdb("default",false,true)  //同步数据库,如果表不存在会自动创建
    orm.Debug = true  //是否输出调试信息
  • CURD
    这里就插入数据操作进行说明,其他类似
t := orm.NewOrm()
    t.Using("default")
    user := &User{Name: "hello",Age: 10,Date: time.Now()}
    t.Begin()
    _,err := t.Insert(user)
    if err != nil {
        fmt.Println(err)
        t.Rollback()
    } else {
        t.Commit()
    }

猜你在找的Go相关文章