zoukankan      html  css  js  c++  java
  • 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里的数据:

  • 相关阅读:
    NOIP simulation
    NOIP2013
    BZOJ 4176 Lucas的数论
    BZOJ 3512 DZY Loves Math IV
    BZOJ 3994 Sum
    BZOJ 4174 tty的求助
    BZOJ 3561 DZY Loves Math VI
    BZOJ 2508 简单题/BZOJ 3775 点和直线
    FTR #1 百步穿杨
    BZOJ 4407 于神之怒加强版
  • 原文地址:https://www.cnblogs.com/hezhixiong/p/4616743.html
Copyright © 2011-2022 走看看