首页 / MYSQL / beego orm mysql
beego orm mysql
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了beego orm mysql,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2846字,纯文字阅读大概需要5分钟。
内容图文
//使用beego orm 必备 "github.com/astaxie/beego/orm" //使用的数据库 必备 _ "github.com/go-sql-driver/mysql" // import your used driver ) type BlogLogin struct { Id int64 Name string Pwd string WechatId string WechatInfo string CreateTime string LastLoginIp string LastLoginTime string } func RegisterDB() { //注册 model orm.RegisterModel(new(BlogLogin)) //注册默认数据库 orm.RegisterDataBase("default", "mysql", "username:password@/databasename?charset=utf8") //密码为空格式当model创建了一个type ,在RegisterDB中调用该方法创建表
//orm.RunSyncdb("default", false, true)
创建表结构案例
type User struct { Id int Name string Profile *Profile `orm:"rel(one)"` // OneToOne relation Post []*Post `orm:"reverse(many)"` // 设置一对多的反向关系 } type Profile struct { Id int Age int16 User *User `orm:"reverse(one)"` // 设置一对一反向关系(可选) } type Post struct { Id int Title string User *User `orm:"rel(fk)"` //设置一对多关系 Tags []*Tag `orm:"rel(m2m)"` } type Tag struct { Id int Name string Posts []*Post `orm:"reverse(many)"` }
然后main中初始化,创建表
package main import ( //调用models中registerDB方法注册 "blog/models" //设置路由,必备 _ "blog/routers" //beego控制器使用必备 "github.com/astaxie/beego" //开启调试默认 "github.com/astaxie/beego/orm" ) func init() { models.RegisterDB() } func main() { orm.Debug = true beego.Run() }
接下来在controller中使用
package controllers import ( //使用model中的类型BlogLogin "blog/models" //打印数据库查出来的结果 "fmt" //beego控制器必备 "github.com/astaxie/beego" //使用orm 中的查询方法 "github.com/astaxie/beego/orm" ) type AdminLoginController struct { beego.Controller } func (this *AdminLoginController) Get() { this.TplName = "AdminLogin.html" } func (this *AdminLoginController) Post() { name := this.Input().Get("name") pwd := this.Input().Get("pwd") o := orm.NewOrm() // read one login := models.BlogLogin{Name: name, Pwd: pwd} //read默认根据主键查询,下面我设置的为跟怒name 和pwd 查询 err := o.Read(&login, "Name", "Pwd") if err != nil { fmt.Printf("ERR: %v\n", err) this.Redirect("/adminlogin.html", 301) return } fmt.Printf("Data: %v\n", login)
this.Redirect("/admin.html", 301) return }
下面为一些标准的sql使用:
// insert id, err := o.Insert(&user) fmt.Printf("ID: %d, ERR: %v\n", id, err) // update //user.Name = "astaxie" //num, err := o.Update(&user) //fmt.Printf("NUM: %d, ERR: %v\n", num, err) // read one //u := User{Id: user.Id} //err = o.Read(&u) //fmt.Printf("ERR: %v\n", err) // delete //num, err = o.Delete(&u) //fmt.Printf("NUM: %d, ERR: %v\n", num, err)
详情来自官网:https://beego.me/docs/mvc/model/orm.md
beego orm mysql
标签:调试 post password mode hub delete init rda err
本文系统来源:http://www.cnblogs.com/jackylee92/p/6671349.html
内容总结
以上是互联网集市为您收集整理的beego orm mysql全部内容,希望文章能够帮你解决beego orm mysql所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。