Beego Model中使用CURD操作

在入口main.go文件中添加init方法

func init() {
	// 获取配置文件数据库配置信息
	driverName 	:= beego.AppConfig.String("drivername")
	mysqlUser 	:= beego.AppConfig.String("mysqluser")
	mysqlPass 	:= beego.AppConfig.String("mysqlpass")
	mysqlUrls 	:= beego.AppConfig.String("mysqlurls")
	mysqlPort	:= beego.AppConfig.String("mysqlport")
	mysqlDb   	:= beego.AppConfig.String("mysqldb")
	orm.RegisterDriver(driverName, orm.DRMySQL)
	// 参数1        数据库的别名,用来在 ORM 中切换数据库使用
	// 参数2        driverName
	// 参数3        对应的链接字符串
	// 参数4(可选)  设置最大空闲连接
	// 参数5(可选)  设置最大数据库连接 (go >= 1.2)
	maxIdle := 30
	maxConn := 30
	orm.RegisterDataBase("default", driverName, "" +
		mysqlUser + ":" + mysqlPass +"@tcp("+ mysqlUrls +":" + mysqlPort +")/" + mysqlDb + "?charset=utf8", maxIdle, maxConn)
	models.InitRegisterModel()
}

在models目录下创建modes.go文件添加下面方法

/*
初始化时注册模型
 */
func InitRegisterModel() {
	orm.RegisterModel(new(Demo))
}

使用CURD操作数据库,需要注册模型

/*
--------------------------------
使用CURD操作数据库,需要注册模型
orm.RegisterModel(new(Demo))
--------------------------------
*/

type Demo struct {
	Id int `json:"id"`
	Name string `json:"name"`
	Email string `json:"email"`
	Mobile string `json:"mobile"`
	Age int `json:"age"`
	IsDelete int `json:"is_delete"`
	Sex int `json:"sex"`
	Qq int `json:"qq"`
	Status int `json:"status"`
}

通过主键id查询

/*
通过主键id查询
 */
func GetDemoOneById(id int) Demo {
	demo := Demo{Id: id}
	err := orm.NewOrm().Read(&demo)
	if err == orm.ErrNoRows {
		fmt.Println("查询不到")
	} else if err == orm.ErrMissPK {
		fmt.Println("找不到主键")
	} else {
		fmt.Println(demo.Id, demo.Name)
	}
	return demo
}

查询如下
image.png

通过主键id删除

/*
通过主键id删除
 */
func DeleteDemoById(id int) int64 {
	demo := Demo{Id: id}
	num, err := orm.NewOrm().Delete(&demo)
	if err == nil {
		return num
	}
	return 0
}

通过主键id更新

/*
通过主键id更新
 */
func UpdateDemoById(id int) int64 {
	demo := Demo{Id: id}
	if orm.NewOrm().Read(&demo) == nil {
		demo.Name = "孙权"
		demo.Mobile = "13388888888"
		num, err := orm.NewOrm().Update(&demo)
		if err == nil {
			return num
		}
	}
	return 0
}

添加数据

/*
添加数据
 */
func InsertDemo() int64 {
	demo := Demo{
		Name:     "孙权",
		Email:    "xionganxinqu@126.com",
		Mobile:   "13399999999",
		Age:      20,
		IsDelete: 1,
		Sex:      1,
		Qq:       888666555,
		Status:   1,
	}
	num, err := orm.NewOrm().Insert(&demo)
	if err == nil {
		return num
	}
	return 0
}

注意:使用CURD操作表必须要有主键

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值