gorm快速使用

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"
}

你可能感兴趣的:(golang)