beego mysql操作,Beego Mysql URCD操作

在MySQL中创建数据库

mysql -uroot -p123456

create database 02blog default character set utf8;

数据库驱动注册等信息

项目的路径是:/home/lee/Applications/Go/src/blog/02blog/

在models下,建立db.go文件

package models

import(

"blog/02blog/models/class" // 注册模型,需要引入该包

"github.com/astaxie/beego/orm"

_ "github.com/go-sql-driver/mysql"

)

/*

使用orm连接数据库步骤:

//告诉orm使用哪一种数据库

1.注册数据库驱动RegisterDriver(driverName, DriverType)

2.注册数据库RegisterDataBase(aliasName, driverName, dataSource, params ...)

3.注册对象模型RegisterModel(models ...)

4.开启同步RunSyncdb(name string, force bool, verbose bool)

*/

// 在init函数中连接数据库,当导入该包的时候便执行此函数

func init(){

orm.RegisterDriver("mysql", orm.DRMySQL)

orm.RegisterDataBase("default", "mysql", "root:123456@tcp(localhost:3306)/02blog?charset=utf8")

orm.RegisterModel(new(class.User)) // 注册模型,建立User类型对象,注册模型时,需要引入包

orm.RunSyncdb("default", false, true)

}

使用ORM实现基本的增删查改操作

在models文件夹新建文件夹class,在class文件夹下新建user.go文件

package class

import(

"fmt"

"github.com/astaxie/beego/orm"

)

// 完成User类型定义

type User struct{

Id int `orm:"pk"` // 设置为主键,字段Id, Password首字母必须大写

Password string

}

func TestORM(){

o:=orm.NewOrm()

u:=User{1, "abc"}

o.Insert(&u) // 插入数据库

u1:=User{Id:1}

o.Read(&u1) // 读取

fmt.Println(u1) // 输出

u1.Password = "xyz" // 修改

o.Update(&u1) // 更新

u2:=User{Id:1}

o.Read(&u2)

fmt.Println(u2)

// o.Delete(&u2)

// o.Read(&2)

}

更改项目main.go文件

package main

import (

_ "blog/02blog/models" // 导入models包,执行其中init函数,短横线表示只执行init,不可引用其他函数

_ "blog/02blog/routers"

"blog/02blog/models/class" // 导入models的class包,执行其中的class.TestORM()函数

"github.com/astaxie/beego"

)

func main() {

class.TestORM() // 执行class.TestORM()函数

beego.Run()

}

orm自动修改表结构

完成上面操作之后,便可以对数据库进行简单增删改查的操作

orm提供了自动修改表结构的功能。

在user.go文件中User类型,添加一个字段,在数据库则会相应的增加一个字段

当减少一个字段时,并不会减少相应字段

喜欢 (1)or分享 (0)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值