Golang + MYSQL + Bee 数据库连接和操作

来源:互联网 发布:淘宝行业排名层级 编辑:程序博客网 时间:2024/06/09 21:32
// tsetMysql project main.gopackage mainimport ("strings""time""github.com/astaxie/beego/orm". "github.com/soekchl/myUtils")type Student struct {Id         int64     `orm:"auto"`Name       string    `orm:"size(10)"`CreateTime time.Time `orm:"type(timestamp)"`Note       string    `orm:"type(text);null"`}func (this *Student) TableName() string {return "student" // 数据库创建表名}func (this *Student) Read(cols ...string) (err error) {o := orm.NewOrm()if err = o.Read(this, cols...); err == nil {return nil}return err}func (this *Student) Insert() (int64, error) {o := orm.NewOrm()return o.Insert(this)}func (this *Student) Update(cols ...string) (int64, error) {o := orm.NewOrm()return o.Update(this, cols...)}func (this *Student) Delete() (int64, error) {o := orm.NewOrm()return o.Delete(this)}func init() {dbhost := "localhost"dbport := "3306"dbname := "test"dbuser := "admin"dbpass := "admin"dsn := strings.Join([]string{dbuser, ":", dbpass, "@tcp(", dbhost, ":", dbport, ")/", dbname, "?charset=utf8&loc=Asia%2FShanghai"}, "")orm.RegisterDataBase("default", "mysql", dsn, 30)orm.RunSyncdb("default", false, true) // 表存在就不再创建}func main() {var stu Student = Student{Name: "Luke"}_, err := stu.Insert() // 插入if err != nil {Error(err)return}Notice(stu.Name, " Id is :", stu.Id)stu.Name = "Test"_, err = stu.Update("name") // 只更新名字if err != nil {Error(err)return}Notice("Name is change: ", stu.Name)var stu1 Studentstu1.Id = 1err = stu1.Read() // 读取id为1 的数据if err != nil {Error(err)return}Notice(stu1)}

0 0
原创粉丝点击