假设:
库:gin_home
表:prj_uer
字段:
uid,name,mobile,passwd,remember_token,create_time,update_time
一、建 /db_model/table_prj_user.go
============================================
package db_model
type prj_user struct {
Uid int64 `xorm:"uid"`
Name string `xorm:"name"`
Mobile int64 `xorm:"mobile"`
Passwd string `xorm:"passwd"`
RememberToken string `xorm:"remember_token"`
CreateTime int64 `xorm:"create_time"`
UpdateTime int64 `xorm:"update_time"`
}
func NewUser() *prj_user{
user := new(prj_user)
return user
}
func NewUserArray() *[]prj_user{
userArray := make([]prj_user, 0)
return &userArray
}
===========================================
二、函数(import "github.com/go-xorm/xorm")
var DB_TYPE string = "mysql"
var DB_CONNECT string = "数据库用户:数据库密码@(数据库IP:数据库端口)/数据库名?charset=utf8"
var DB_CONNECT string = "user:passwd@(127.0.0.1:3306)/gin_home?charset=utf8"
func DbTable(tableName string) *xorm.Session {
var engine *xorm.Engine
engine, _ = xorm.NewEngine(DB_TYPE, DB_CONNECT);
return engine.Table(tableName)
}
三、操作
func DBTest(c *gin.Context){
//增
newUser:=db_model.NewUser()
newUser.Name="cxsss11"
newUser.CreateTime=time.Now().Unix()
newUser.UpdateTime=newUser.CreateTime
//_ 为 affected
_,err :=public.DbTable("prj_user").Insert(newUser)
if err !=nil{
fmt.Println(err)
}
//删
newUser=db_model.NewUser()
newUser.Uid=16
//_ 为 affected
_,err =public.DbTable("prj_user").Delete(newUser)
if err !=nil{
fmt.Println(err)
}
//改
newUser=db_model.NewUser()
newUser.Name="hdjfea"
//_ 为 affected
_,err =public.DbTable("prj_user").Where(" name = ? ","cxsss11").Update(newUser)
if err !=nil{
fmt.Println(err)
}
//查单条
newUser = db_model.NewUser()
//_ 为 has
_,err = public.DbTable("prj_user").Where(" uid = ? ",9).Get(newUser)
if newUser != nil {
fmt.Println(newUser)
}
//查多条
userArray := db_model.NewUserArray()
err = public.DbTable("prj_user").Where(" name = ? ","cxsss").Find(userArray)
if userArray != nil {
fmt.Println(userArray)
}
}