注意:
1.别忘了import中,引入数据库的包“pq”
2.定义表结构的时候,最外面一个点不是单引号,是“Esc”下面的那个按键,并且冒号后面的具体内容,要用双引号包起来。
3.默认struct第一个可以大写,后面用小写,转为表名称时,变小写。如果都用大写,每一个大写用下划线隔开
4.在model中定义方法后,别的文件引用,如果不调用里面的方法,就会报错。
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> 1 package models
2
3 import (
4 "github.com/astaxie/beego/orm"
5 )
6
7 type Student struct { 8 Id int64
9 Name string
10 Age int
11 } 12
13 func init() { 14 orm.RegisterModel(new(Student)) 15 }</pre>
main.go
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> 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 , 数据库别名:default 23 * orm.RegisterDataBase("default", "mysql", "root:tom@/test?charset=utf8") 24 /
25 /* 26 * Sqlite 配置 27 * 注册驱动 28 * orm.RegisterDriver("sqlite", orm.DR_Sqlite) 29 * 数据库存放位置:./datas/test.db , 数据库别名:default 30 * orm.RegisterDataBase("default", "sqlite3", "./datas/test.db") 31 */
32 // 自动建表
33 orm.RunSyncdb("default", false, true) 34 }</pre>
完整小实例:
package models
import (
"github.com/astaxie/beego/orm"
"time"
_ "github.com/lib/pq"
)
type User struct{
UserId string orm:"pk;column(UserId);type(UUId);size(24)"
Name string orm:"column(Name);type(string);size(50)"
UserName string orm:"column(UserName);type(string);size(50)"
Password string orm:"column(Password);type(string);size(16)"
CreateName time.Time orm:"column(CreateName);type(datetime);size(50)"
CreateTime string orm:"column(CreateTime);type(string);size(50)"
}
func init(){
// orm.RegisterDriver("postgres",orm.DRPostgres)
orm.RegisterDataBase("default","postgres","user=postgres password=123456 dbname=stbcon sslmode=disable")
orm.RegisterModel(new(User))
orm.RunSyncdb("default", false, true)
}
func (u *User)Add(){
o:=orm.NewOrm()
o.Begin()
_,err := o.Insert(u)
if err!=nil{
o.Rollback()
}
o.Commit()
}
注意:
1.别忘了import中,引入数据库的包“pq”
2.定义表结构的时候,最外面一个点不是单引号,是“Esc”下面的那个按键,并且冒号后面的具体内容,要用双引号包起来。
3.默认struct第一个可以大写,后面用小写,转为表名称时,变小写。如果都用大写,每一个大写用下划线隔开
4.在model中定义方法后,别的文件引用,如果不调用里面的方法,就会报错。
网友评论