是对数据的操作
1.增
db.Create(&User{Id:1,Name:"hallen",Age:18})
2.查
var user User
db.First(&user,1) // 默认使用id字段
fmt.Println(user)
db.First(&user,"name=?","hallen") // 查询指定字段
fmt.Println(user)
3.改:先查再改
var user User
db.First(&user,1) // 默认使用id字段
db.Model(&user).Update("age",20) // 这里的Model是查询出来的结构体对象user,不是模型
4.删:先查再改
var user User
db.First(&user,1) // 默认使用id字段
db.Delete(&user)
models
package models
// 创建表
type User struct {
Id int
Name string
Age int
Addr string
Pic string
Phone string
}
package main
import (
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
"gorm_demo/models"
)
func main(){
// 用户名:密码@/数据库
db,err := gorm.Open("mysql","root:123456@/gorm_project?charset=utf8&parseTime=True&loc=Local")
if err != nil {
panic(err)
}
defer db.Close() // 关闭空闲连接
db.AutoMigrate(models.User{})
// 增加
//db.Create(&models.User{Name: "李四",Addr: "XXX",Pic: "/static/upload/pic11.png",Phone: "15625775964"})
var user models.User
// 查询
//db.First(&user,1) // 默认id
//fmt.Println(user) // {1 张三 0 XXX /static/upload/pic11.png 15625775964}
//db.First(&user,"name=?","张三") // {1 张三 0 XXX /static/upload/pic11.png 15625775964}
//fmt.Println(user)
// 更新
//db.First(&user,1)
//db.Model(&user).Update("age",22)
//db.Model(&user).Update("addr","珠海")
// 删除
db.First(&user,3)
db.Delete(&user)
}