標籤:
beego架構預設支援三種資料庫類型(MySQL,Sqlite,PostgreSQL)。這三種資料庫的配置雖然大同小異,但也有各自的差別。如今該總結下了。
以下是基於beego架構對PostgreSQL資料庫進行操作。
models/models.go
1 package models 2 3 import ( 4 "github.com/astaxie/beego/orm" 5 ) 6 7 type Student struct { 8 Id int64 9 Name string10 Age int11 }12 13 func init() {14 orm.RegisterModel(new(Student))15 }
main.go
1 package main 2 3 import ( 4 "fmt" 5 "github.com/astaxie/beego" 6 "github.com/astaxie/beego/orm" 7 "postgresql/models" 8 9 _ "github.com/lib/pq"10 _ "postgresql/routers"11 )12 13 func init() {14 // PostgreSQL 配置15 orm.RegisterDriver("postgres", orm.DR_Postgres) // 註冊驅動16 orm.RegisterDataBase("default", "postgres", "user=postgres password=tom dbname=test host=127.0.0.1 port=5432 sslmode=disable")17 18 /**19 * MySQL 配置20 * 註冊驅動21 * orm.RegisterDriver("mysql", orm.DR_MySQL)22 * mysql使用者:root ,root的秘密:tom , 資料庫名稱:test , 資料庫別名:default23 * orm.RegisterDataBase("default", "mysql", "root:[email protected]/test?charset=utf8")24 */25 /**26 * Sqlite 配置27 * 註冊驅動28 * orm.RegisterDriver("sqlite", orm.DR_Sqlite)29 * 資料庫存放位置:./datas/test.db , 資料庫別名:default30 * orm.RegisterDataBase("default", "sqlite3", "./datas/test.db")31 */32 // 自動建表33 orm.RunSyncdb("default", false, true)34 }35 36 func main() {37 orm.Debug = true38 o := orm.NewOrm()39 o.Using("default")40 stu := new(models.Student)41 stu.Name = "tom"42 stu.Age = 2543 44 fmt.Println(o.Insert(stu))45 beego.Run()46 }
PostgreSQL資料庫裡自動建表和插入資料庫如下:
beego架構之orm模組——PostgreSQL