美文网首页
Beego ORM的使用

Beego ORM的使用

作者: sirius_ztz | 来源:发表于2017-05-26 17:52 被阅读0次

什么是ORM?

对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中

使用beego ORM有三步

第一步:在model里面构造struct模型,并注册模型

package main
import (
"github.com/astaxie/beego/orm"
)
type User struct {
Id          int
Name        string
}
func init() {
orm.RegisterModel(new(User))
}

第二部:将你需要使用的 driver 加入main.go中

import( _"github.com/go-sql-driver/mysql"
            _"github.com/lib/pq"
            _"github.com/mattn/go-sqlite3")

第三步:注册驱动和数据库**

  1. 注册驱动:orm.RegisterDriver("mysql", orm.DRMySQL) 如果是默认的三个可以不写
  2. 注册数据库:orm.RegisterDataBase("default", "mysql", "root:123456@/golang?charset=utf8") ////注册一个别名为default的数据库、驱动名字、数据库源
main.go
package main
import (
"fmt"
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
)

func init() {
orm.RegisterDriver("mysql", orm.DRMySQL)    //可以不加
orm.RegisterDataBase("default", "mysql", "root:password@/databasename?charset=utf8")
//ORM 必须注册一个别名为default的数据库,作为默认使用。
}

func main() {
o := orm.NewOrm()  //new一个Orm,默认使用名为default的数据库
o.Using("default") // 你可以使用Using函数指定其他数据库
user := new(User)
user.Name = "ztz"
fmt.Println(o.Insert(user))
}

自己写是不是很麻烦?bee为我们提供了人性化的工具,在使用beego框架时,可以使用bee的工具,如:bee generate自动化一键生成 model,router,controllers

bee generate appcode [-tables=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"] [-level=3]

bee工具简介

但有一点要注意,在构造好数据库之后再使用generate工具,并且一个表中一定要有主键,不然生成的文件不是完整的。

接口使用:

type Ormer interface {
Read(interface{}, …string) error
ReadOrCreate(interface{}, string, …string) (bool, int64, error)
Insert(interface{}) (int64, error)
InsertMulti(int, interface{}) (int64, error)
Update(interface{}, …string) (int64, error)
Delete(interface{}) (int64, error)
LoadRelated(interface{}, string, …interface{}) (int64, error)
QueryM2M(interface{}, string) QueryM2Mer
QueryTable(interface{}) QuerySeter
Using(string) error
Begin() error
Commit() error
Rollback() error
Raw(string, …interface{}) RawSeter
Driver() Driver
}

相关文章

  • Beego Models 之 一

    模型(Models)- beego ORM 原文 beego ORM 是一个强大的 Go 语言 ORM 框架。她的...

  • beego orm自动建表时字段default值不设置的解决办法

    beego orm自动建表时字段default值不设置的解决办法 在使用beego的orm建表时,我的模型是这样建...

  • beego orm使用

    初始化 创建新beego项目 在main.go中开始测试 模型关系 新建4个结构体 初始化操作 生成的databa...

  • 使用orm自动创建表结构

    关于 Beego 框架,这里不再赘述。Beego官方网站 一、什么是orm,为什么要用orm? orm (Obje...

  • Beego ORM的使用

    什么是ORM? 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面...

  • beego 时间类型json格式问题

    beego 时间类型json格式化问题再使用beego的orm框架时,如果希望重新定义time.Time转json...

  • Go后台项目实战

    本项目完全使用原生开发,没有使用任何WEB框架(如:gin,beego,Martini等),和ORM(如:gorm...

  • Beego orm

    批量删除 Example 流程 根据对应表, 构建QuerySeter对象 添加查询条件 在最后的结构集上调用De...

  • beego ORM

    1.创建表 2.插入数据 3.查询数据 4.更新数据 把数据库init放到models里面

  • beego orm

    ORM官方文档为:https://github.com/beego/beedoc/blob/master/zh-C...

网友评论

      本文标题:Beego ORM的使用

      本文链接:https://www.haomeiwen.com/subject/bgpxfxtx.html