beego之操作model

beego之操作model

1.环境配置

  1>.下载安装orm

    go get github.com/astaxie/beego/orm

    默认安装路径在gopath路径下,可使用go env查看路径

  2>.导入mysql包

    

2..在controller目录下创建一个TestMode.go控制器

  1>.代码

package controllers

import (
    "fmt"

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

//model的表示UserTable,操作数据库中的表名叫user_table
type UserTable struct {
    Id       int64
    Username string
    Password string
}
type TestModelController struct {
    beego.Controller
}

func (c *TestModelController) Get() {
    //注册数据库
    //参数一:默认default
    //参数二:数据库类型MySQL
    //参数三:数据库用户名:密码@tcp(ip:port)/数据库名?charset=utf8为字符编码格式
    //参数四:超时时间
    orm.RegisterDataBase("default", "mysql", "test:test@tcp(192.168.5.200:3306)/testdb?charset=utf8", 30)
    //注册UserTabele表
    orm.RegisterModel(new(UserTable))

    //申明对象
    o := orm.NewOrm()
    //设置数据
    //user := UserTable{Username: "xiaoming", Password: "123456"}
    //插入数据
    //id, err := o.Insert(&user)

    //读取数据
    u := UserTable{Id: 1}
    err := o.Read(&u)
    if err == orm.ErrNoRows {
        fmt.Println("查询不到")
    } else if err == orm.ErrMissPK {
        fmt.Println("找不到主键")
    } else {
        fmt.Println(u.Id, u.Username)
    }
    //修改数据
    u.Username = "Xiao Hua"
    u.Password = "654321"
    o.Update(&u)

    //web上显示内容
    //c.Ctx.WriteString(fmt.Sprintf("id: %d err: %v", id, err))

    //自带原生读取函数
    var maps []orm.Params
    o.Raw("select *from user_table").Values(&maps)

    for _, v := range maps {

        c.Ctx.WriteString(fmt.Sprintf("user_table: %v\n", v))
    }

}

  2>.数据操作方法以及go中结构体和数据库中的表格对应关系

3.在routers目录下添加对应路由

4.mysql设置

  1>.进入数据库 mysql -u 用户名 -p

    下面是以root用户登录的

  2>.我这里首先建立新的用户testdb,对应代码中对应

    可以使用 下面命令,查看用户列表

      select user, host from mysql.user;

    创建新用户,用户名test 密码test

    use mysql   

    create user test identified by 'test' ;

    flush privileges    //刷新

    select user, host from mysql.user;   //查看用户

  3>.创建数据库

    create database testdb; 和代码中对应

    flush privileges;    //刷新

    show databases;

  4>.设置权限  为user用户赋予操作数据库testdb的所有权限

    grant all privileges on testdb.* to test identified by 'test';

 

  5>.退出,

    quit;

  6>.使用test用户登录

    mysql -u test -p

    查看数据库

      show databases;

    查看表格

      show tables; 

  7>.创建表格user_table,三个参数id、username、password  

    create table user_table( id int(11) auto_increment, username varchar(32),password varchar(128),primary key(id));

    参考链接:https://www.yiibai.com/mysql/mysql_create_tables.html

语法:

 

   8.查看表格

    desc user_table;

5.运行程序查看效果

  

  浏览器效果,表明插入成功

  查看数据库表格中数据

    select *from user_table;

 

注:参考文件

 https://beego.me/docs/mvc/model/orm.md

转载于:https://www.cnblogs.com/LazyAngel/p/10905126.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值