gorm快速使用
安装
go get -u github.com/jinzhu/gorm
快速使用
package main
import (
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/sqlite"
)
//模型:为表中的字段,记得字段名开头大写
type Patient struct {
//基本模型定义gorm.Model,包括字段ID,CreatedAt,UpdatedAt,DeletedAt,你可以将它嵌入你的模型,或者只写你想要的字段,或者不需要可以干脆不要
//gorm.Model
Patientid string
Name string
Gender int64
}
//此例为postgresql
func main() {
db,err := gorm.Open("postgres", "host=*** user=*** dbname=*** sslmode=disable password=***")
if err != nil {
panic(err)
}
//不重新创建复数结尾的表,还是原来的表,可以利用原表中的结构,数据
db.SingularTable(true)
//defer db.Close()
// 创建
Patient{Name: "huo4", Patientid: "2000",Gender:1}
db.Create(&Patient)
// 读取
var patient Patient
db.First(&patient , "name= ?", "huo4") // 查询name为huo4的patient
db.Where(&Patient {Name: "huo4"}).First(&patient)
// 更新 - 更新patient的name为huo3
db.Model(&patient).Where("patientid= ?", "abc").Update("name", "huo3")
//update patient set name="huo3" where patientid="abc"
// 删除 - 删除patient
db.Delete(Patient{}, "patientid= ?", "abc")
//delete from patienti where patientid="abc"
}