[GO] GORM的CURD模板

2 篇文章 0 订阅

最近使用gorm做业务开发,为了更加高效地开发,做如下总结:

Gorm

CURD模板

user := User{
    Name: "drs",
    Age: 20,
}
db.Find(&user)
db.Select("Name").Find(&user)

user := User{
    Name: "drs",
    Age: 20,
}
// 直接创建
db.Create(&user)
// 使用Select选择结构体字段,进行创建
db.Select("Name").Create(&user)
// 冲突时更新,无冲突时创建
db.Clauses(clause.OnConflict{
		Columns:   []clause.Column{{Name: "Name"}},
		DoUpdates: clause.AssignmentColumns([]string{"Age"}),
}).Create(&user)


users := []User{{Name: "drs1"},{Name: "drs2"},{Name: "drs3"}}
// 批量创建
db.Create(&users)
// 批量创建 冲突时更新,无冲突时创建
db.Clauses(clause.OnConflict{
		Columns:   []clause.Column{{Name: "Name"}},
		DoUpdates: clause.AssignmentColumns([]string{"Age"}),
}).Create(&users)
// 批量创建 可指定创建的数量
db.CreateInBatches(&users,2)

user := User{
    Name: "drs",
    Age: 20,
}
// 使用Select选择结构体字段,进行更新
db.Model(&user).Select("Name","Age").Updates(user)
// 批量更新
db.Model(&user).Where("id in (?)",[]int64{10,11}).Updates(map[string]interface{}{"name": "zs", "age": 18})

db.Where("name = ?","zs").Delete(&user)

Select

Select 可以用来选择结构体的字段(大写),也可以用来选择数据表的列(小写)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值