orm
weixin_38107457
这个作者很懒,什么都没留下…
展开
-
orm多对多
orm接口o := orm.NewOrm()post := models.Posts{Name:"post",CreateTime:time.Now(),Content:"xxxx"}tag := models.Tags{Name:"tag",CreateTime:time.Now(),DescTag:"tag"}// 插入post和tag数据o.Insert(&post)o.Insert(&tag)//多对多插入m2m := o.QueryM2M(&post原创 2021-08-07 22:08:29 · 229 阅读 · 0 评论 -
one to many
package oneimport "github.com/astaxie/beego/orm"type ArticleMany struct { Id int `orm:"pk;auto"` Name string Desc string UserOne *UserOne `orm:"rel(fk)"`}func (a *ArticleMany) TableName() string{ return "article_many"}func init() { o.原创 2021-08-07 16:12:47 · 90 阅读 · 0 评论 -
golang学习之beego增删改查代码实现
package mainimport ( _ "crud_beego/routers" //自动注册路由 "fmt" "github.com/astaxie/beego" "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql")const ( DRIVER_NAME = "mysql" DATA_SOURCE = "root:123456@tcp(127.0.原创 2021-08-01 23:34:55 · 134 阅读 · 0 评论 -
beego中orm关联查询使用解析
主要关系是:会员(用户) -> 文章:一对多文章 -> 文章分类:多对一文章 -> 评论:一对多说明:beego的orm使用时,外键id在关联查询时会默认添加一个"_id"结尾,比如:文章表对应的作者id,orm在关联查询时会默认查询xxx_id,其中xxx为struct中定义的json字段全称,这样的话最好定义外键id时直接写成xxx_id形式,然后struct的字段的json tag写成xxx即可。type User struct { Id...原创 2021-08-01 23:25:28 · 459 阅读 · 0 评论 -
beego关系查询
modelstype User struct { Id int64 `json:"id" ` Name string `json:"name,omitempty" orm:"size(50)"` Passwords string `json:"passwords" orm:"size(32)"` Baby []*Baby `json:"baby" orm:"reverse(many)"`}type Baby struct { Id int64原创 2021-08-01 23:20:05 · 126 阅读 · 0 评论 -
one to one
package modelsimport "github.com/astaxie/beego/orm"// 一对一模型定义// usertype UserOne struct { Id int `orm:"pk;auto"` Username string Age int ProfileOne *ProfileOne `orm:"reverse(one)"` // 只是用来反向查询, ArticleMany []*ArticleMany `orm:"reverse(many)".原创 2021-08-01 23:04:46 · 76 阅读 · 0 评论 -
使用原生sql查询
package test_ormimport ( "github.com/astaxie/beego" "github.com/astaxie/beego/orm")type TestOrmChap05Controller struct { beego.Controller}type ToStruct struct { Total string Page string}func (t *TestOrmChap05Controller) Get() { o := orm.原创 2021-08-01 22:59:00 · 127 阅读 · 0 评论 -
QueryTable 接口
package test_ormimport ( "github.com/astaxie/beego" "github.com/astaxie/beego/orm" "beego_project/models" "fmt")type TestOrmChap04Controller struct { beego.Controller}func (t *TestOrmChap04Controller) Get() { o := orm.NewOrm() qs := o.Quer.原创 2021-08-01 22:55:36 · 162 阅读 · 0 评论 -
exper表达式_4
使用QueryTable:ORM 以 QuerySeter 来组织查询,每个返回 QuerySeter 的方法都会获得一个新的 QuerySeter 对象。qs := o.QueryTable("user") 表名作为参数 exact / iexact:等于,默认值,大小写敏感 / 不敏感 qs.Filter("name__exact","Zhiliao").One(&stu) Filter / Exclude / Condition的默认参数 where name =原创 2021-07-27 12:16:50 · 91 阅读 · 0 评论 -
增删改查_3
新增一条:Inserto := orm.NewOrm()o.Using("default")newStudent := Student{Name:"zhiliao",Age:18,Gender:"男"}//新增数据id, err :=o.Insert(&newStudent) // 返回添加的数据id以及错误信息新增多条:InsertMultio.InsertMulti(bulk, slice对象) 第一个参数 bulk 为并列插入的数量,第二个为对象原创 2021-07-27 12:14:43 · 117 阅读 · 0 评论 -
模型定义_2
用作数据库数据转换和自动建表模型名和表名的映射规则:除了开头的大写字母以外,遇到大写会增加 _,原名称中的下划线保留。 Article -> article AuthUser -> auth_user Auth_User -> auth__user 两个下划线 DB_AuthUser -> d_b__auth_user 自定义表名:type User struct { Id int Name string}func..原创 2021-07-27 12:11:24 · 44 阅读 · 0 评论 -
orm入门使用_1
beego中使用安装:go get github.com/astaxie/beego/ormgo get github.com/go-sql-driver/mysql链接数据库:orm.RegisterDriver("mysql", orm.DRMySQL)orm.RegisterDataBase("default", "mysql", "用户名:密码@tcp(IP:端口号)/数据库?charset=utf8", 30)注册模型在init函数中:orm.RegisterMod原创 2021-07-27 12:09:29 · 115 阅读 · 0 评论