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里的数据:

  • 相关阅读:
    判断qq浏览器和uc浏览器?
    做前端能避免的错误总结
    css布局
    border-radius后面写px/rem与百分比有什么区别?
    vertical-align
    localstorage和cookie的设置方法和获取方法
    怎么让列表的文字只显示两行,多出的出现省略号?
    avalon在公共页面里面写的功能,怎么让某些页面不引用到这个方法和html?
    小程序
    webpack
  • 原文地址:https://www.cnblogs.com/hezhixiong/p/4616743.html
Copyright © 2011-2022 走看看