查询
func (u UserDao) GetList(c *gin.Context) {
var Users []models.User
var result models.User
user, _ := di.Gorm().Limit(2).Select("id,name,age,ct").Find(&Users).Rows()
//user, _ := di.Gorm().Where("id = ?",1).Select("id,name,age,ct").Find(&Users).Rows()
//user, _ := di.Gorm().Where("id in (?)", []int{1, 2}).Select("id,name,age,ct").Find(&Users).Rows()
//user, _ := di.Gorm().Where("id like ?", "%12%").Select("id,name,age,ct").Find(&Users).Rows()
//user, _ := di.Gorm().Where("id = ? and name = ?", 1, "test12").Select("id,name,age,ct").Find(&Users).Rows()
//user, _ := di.Gorm().Where(&models.User{Id: 1, Name: "test12"}).Select("id,name,age,ct").Find(&Users).Rows()
//user, _ := di.Gorm().Where("id > ?",28).Select("id,name,age,ct").Find(&Users).Rows()
//user, _ := di.Gorm().Where("id = ?", 1).Or("id = ?", 2).Select("id,name,age,ct").Find(&Users).Rows()
//user, _ := di.Gorm().Where("id = ?", 1).Where("name = ?", "test12").Select("id,name,age,ct").Find(&Users).Rows()
//user, _ := di.Gorm().Offset(3).Select("id,name,age,ct").Find(&Users).Rows()
// Raw SQL
//di.Gorm().Raw("SELECT id, name, age, ct FROM user limit 2").Scan(&Users)
for user.Next() {
err := user.Scan(&result.Id, &result.Name, &result.Age, &result.Ct)
if err != nil {
return
}
}
c.JSON(http.StatusOK, gin.H{
"data": Users,
"status": http.StatusOK,
"message": "success",
})
}
更新
func (u UserDao) UpdateAll(c *gin.Context) {
//err := di.Gorm().Model(&result).Where("id = ?", 1).Updates(models.User{
// Name: "test12",
// Age: 21,
//}).Error
//err := di.Gorm().Raw("UPDATE `user` SET `name`='test12'").Scan(&Users).Error
err := di.Gorm().Raw("UPDATE `user` SET `age`=age + 1 WHERE id = 1").Scan(&Users).Error
//err := di.Gorm().Model(&result).Where("id = ?", 1).UpdateColumn("age",gorm.Expr("age + ?",1)).Scan(&Users).Error
if err != nil {
fmt.Println(err)
}
}
删除
func (u UserDao) DeleteInfo(c *gin.Context) {
err := di.Gorm().Where("id = ?", 29).Delete(&Users).Error
if err != nil {
fmt.Println(err)
}
}
创建
func (u UserDao) Create(c *gin.Context) {
var User = &models.User{
Name: "test12",
Age: 28,
Ct: int(time.Now().Unix()),
}
err := di.Gorm().Create(&User).Error
if err != nil {
c.JSON(http.StatusOK, gin.H{
"status": http.StatusOK,
"message": err.Error(),
})
return
}
c.JSON(http.StatusOK, gin.H{
"status": http.StatusOK,
"message": "hello, world!",
"id": User.Id,
})
}
事务操作
// Affairs 事务操作
func (u UserDao) Affairs(c *gin.Context) {
tx := di.Gorm().Begin()
defer func() {
if r := recover(); r != nil {
tx.Rollback()
}
}()
if tx.Error != nil {
c.JSON(http.StatusOK, gin.H{
"status": http.StatusOK,
"message": tx.Error.Error(),
})
return
}
var User = &models.User{
Name: "test12",
Age: 28,
Ct: int(time.Now().Unix()),
}
if err := tx.Create(&User).Error; err != nil {
fmt.Println(err)
tx.Rollback()
c.JSON(http.StatusOK, gin.H{
"status": http.StatusOK,
"message": tx.Error.Error(),
})
return
}
tx.Commit()
c.JSON(http.StatusOK, gin.H{
"status": http.StatusOK,
"message": "hello, world!",
"id": User.Id,
})
}
网友评论