今天基於beego ORM演示sqlite3數據庫時,遇到了一小問題。git
問題現象1:下載go-sqlite3(go get github.com/mattn/go-sqlite3)驅動時報錯說 gcc 不在 PATH 目錄裏。
問題現象2:運行導入了go-sqlite3驅動的文件時編譯報錯說 gcc 不在 PATH 目錄裏。github
問題發生的緣由:sqlitle3是個cgo庫,須要gcc編譯c代碼。
問題的解決辦法:安裝tdm-gcc或Mingw。(備註:本人安裝的是tdm-gcc,下載地址:http://tdm-gcc.tdragon.net/download)sql
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.gospa
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裏的數據:.net