Skip to content

Instantly share code, notes, and snippets.

@lya79
Created February 23, 2019 05:25
Show Gist options
  • Select an option

  • Save lya79/5f02ca2027f236070fe54a0b69668b66 to your computer and use it in GitHub Desktop.

Select an option

Save lya79/5f02ca2027f236070fe54a0b69668b66 to your computer and use it in GitHub Desktop.
package main
import (
"fmt"
"log"
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
)
const name = "root"
const pwd = "123456"
const db = "world"
func init() {
orm.RegisterDriver("mysql", orm.DRMySQL)
params := name + ":" + pwd + "@/" + db + "?charset=utf8"
err := orm.RegisterDataBase("default", "mysql", params)
if err != nil {
log.Println("RegisterDataBase, err:", err)
}
orm.RegisterModel(new(City))
}
type City struct {
ID int `orm:"pk;column(ID)"` // int 11
Name string `orm:"column(Name)"` // char 35
CountryCode string `orm:"column(CountryCode)"` // char 4
District string `orm:"column(District)"` // char 20
Population int `orm:"column(Population)"` // int 11
}
func main() {
test_orm()
test_sql()
}
func test_orm() {
o := orm.NewOrm()
err := o.Using("default") // 默认使用 default,你可以指定为其他数据库
if err != nil {
log.Println("Using, err:", err)
return
}
var citys []*City
num, err := o.QueryTable("City").All(&citys) // 可以設定過濾條件
if err != nil {
log.Println("QueryTable, err:", err)
return
}
fmt.Println("Returned Rows Num:", num)
for _, value := range citys {
log.Println(value.Name)
}
}
func test_sql() {
o := orm.NewOrm()
var citys []*City
num, err := o.Raw("SELECT * FROM city").QueryRows(&citys)
if err != nil {
log.Println("QueryRows, err:", err)
return
}
fmt.Println("Returned Rows Num:", num)
for _, value := range citys {
log.Println(value.Name)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment