下载必要的库
go get github.com/go-xorm/xorm #安装xorm
go get -u github.com/go-sql-driver/mysql #安装MySQL驱动
package main
import (
_ "github.com/go-sql-driver/mysql"
"github.com/go-xorm/xorm"
"fmt"
)
/*
* @author: songjxin
* @author: 2018/10/9
* @description:
*/
//对应数据库表
type Token struct{
Id int64
Token string
Time string
}
func main() {
//连接到mysql
db, initErr := xorm.NewEngine("mysql", "root:passwd@(10.10.8.31:33060)/token")
if initErr != nil {
fmt.Println("error")
fmt.Println(initErr.Error())
return
}
//select
var tokens []Token
sql := "SELECT * FROM `token`"
//方式1
db.Sql(sql).Find(&tokens)
fmt.Println(tokens)
//方式2
data,selectErr :=db.QueryString(sql)
if selectErr != nil{
fmt.Println("err")
fmt.Println(selectErr.Error())
}
fmt.Println(data)
var token Token
//方式3 ID为全大写对应数据库中id
db.ID(2).Get(&token)
fmt.Println(token)
//update
var tokenUpdate Token
tokenUpdate.Token = "123"
_,updateErr := db.Update(&tokenUpdate,&Token{Id:2})
if updateErr != nil{
fmt.Println(updateErr)
return
}
//add
var tokenAdd Token
tokenAdd.Token = "456"
tokenAdd.Time = "2018-11-09 06:11:50"
_,addErr := db.Insert(&tokenAdd)
if addErr != nil{
fmt.Println(addErr.Error())
return
}
//delete
var tokenDelete Token
_,deleteErr := db.ID(3).Unscoped().Delete(&tokenDelete)
if deleteErr != nil{
fmt.Println(deleteErr.Error())
return
}
}
数据库表: