GOLANG BEEGO ORM

来源:互联网 发布:喜欢用数据说话的女人 编辑:程序博客网 时间:2024/06/05 07:57

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    stringAge     intDate    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()    }
0 0