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()
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值