beego中数据库表创建

package main

import (
	"fmt"

	"github.com/astaxie/beego/orm"
	_ "github.com/go-sql-driver/mysql"
)

// 定义表
type Users struct {
	Id   int    `orm:"auto;column(id)"`
	Name string `orm:"size(15);column(name)"`
	Age  int    `orm:"column(age)"`
	Sex  string `orm:"size(15);column(sex)"`
}

func init() {
	// 注册数据驱动,参数1驱动名称,参数2数据库名称
	orm.RegisterDriver("mysql", orm.DRMySQL)
	// 注册数据库,
	//参数1为数据库别名,默认为default
	//参数2为驱动名称,
	//参数3为对应的连接字符串 "数据库账户:密码@tcp(ip:3306)/数据库?charset=utf8&loc=Local"
	//参数4为设置最大空闲连接
	//参数5为设置最大数据库连接
	orm.RegisterDataBase("default", "mysql", "weiwei:123456@tcp(192.168.120.128:3306)/student?charset=utf8&loc=Local")
	// 注册模型
	orm.RegisterModel(new(Users))
	// 创建表,
	// 参数1数据库别名
	//参数2为是否强制更新,销毁过去的重新创建
	// 参数3为是否显示创建sql语句
	orm.RunSyncdb("default", true, true)
}

func main() {
	o := orm.NewOrm()
	user := Users{Name: "slence", Age: 20, Sex: "男"}
        // 插入一条数据
	id, err := o.Insert(&user)
	fmt.Printf("ID: %d, err: %v\n", id, err)

        // 更新一条数据
        user.Name = "weiwei"
        num, err := o.Update(&user)
        fmt.Printf("NUM: %d, ERR: %v\n", num, err)

        // 获取一条数据
        u := User{Id: user.Id}
        err = o.Read(&u)
        fmt.Printf("ERR: %v\n", err)

        // 删除一条数据
        num, err = o.Delete(&u)
        fmt.Printf("NUM: %d, ERR: %v\n", num, err)
}
posted @ 2022-02-15 17:54  我在路上回头看  阅读(213)  评论(0)    收藏  举报