首页 > 数据库技术 > 详细

beego框架之orm模块——sqlite

时间:2015-07-02 19:24:42      阅读:1074      评论:0      收藏:0      [点我收藏+]

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

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

技术分享

  问题发生的原因:sqlitle3是个cgo库,需要gcd编译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里的数据:

技术分享

beego框架之orm模块——sqlite

原文:http://www.cnblogs.com/hezhixiong/p/4616743.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!