• beego框架之orm模块——sqlite


      今天基于beego ORM演示sqlite3数据库时,遇到了一小问题。

      问题现象1:下载go-sqlite3(go get github.com/mattn/go-sqlite3)驱动时报错说 gcc 不在 PATH 目录里。
      问题现象2:运行导入了go-sqlite3驱动的文件时编译报错说 gcc 不在 PATH 目录里。

      问题发生的原因:sqlitle3是个cgo库,需要gcc编译c代码。
      问题的解决办法:安装tdm-gcc或Mingw。(备注:本人安装的是tdm-gcc,下载地址:http://tdm-gcc.tdragon.net/download)

      beego框架连接及处理sqlite3数据库。

    models/models.go

     1 package models
     2 
     3 import (
     4     "github.com/astaxie/beego/orm"
     5 )
     6 
     7 type Student struct {
     8     Id    int // 主键
     9     Name  string
    10     Age   int
    11     Sex   string
    12     Score float32
    13     Addr  string
    14 }
    15 
    16 func init() {
    17     orm.RegisterModel(new(Student))
    18 }

    main.go

    package main
    
    import (
        "fmt"
        "github.com/astaxie/beego"
        "github.com/astaxie/beego/orm"
        "ormsqlite/models"
    
        _ "github.com/mattn/go-sqlite3"
        _ "ormsqlite/routers"
    )
    
    func init() {
        orm.RegisterDriver("sqlite", orm.DR_Sqlite)
        orm.RegisterDataBase("default", "sqlite3", "./datas/test.db")
        orm.RunSyncdb("default", false, true)
    }
    
    func main() {
        o := orm.NewOrm()
        o.Using("default")
        stu := new(models.Student)
    
        stu.Name = "bei"
        stu.Age = 25
        stu.Sex = "m"
        stu.Score = 88
        stu.Addr = "hunan.leiyang"
    
        fmt.Println(o.Insert(stu))
        beego.Run()
    }

      查看sqlite_DB里的数据:

  • 相关阅读:
    Ubuntu 17 安装sublime
    ubuntu17 设置python3为默认及一些库的安装
    Java中内存分析(一)
    我的学习JavaEE路线
    我爱学习……
    HDU 4602
    K-special Tables
    Gym 100712A - Who Is The Winner
    UVA 1583
    水题 UVA 1586
  • 原文地址:https://www.cnblogs.com/hezhixiong/p/4616743.html
Copyright © 2020-2023  润新知