GORM 插入和批量插入操作介绍

GORM 是一个功能强大的 Go 语言 ORM 库,它提供了简单易用的 API 来执行数据库操作。本文将介绍如何使用 GORM 进行单条记录插入和批量插入操作。

单条记录插入

在 GORM 中,插入一条记录非常简单。首先,你需要定义一个模型,该模型对应数据库中的一个表。然后,使用 Create 方法将记录插入到数据库中。

package main

import (
	"fmt"
)

// Student 模型定义
type Student struct {
	Id     uint   `gorm:"size:10"`
	Name   string `gorm:"size:16"`
	Age    int    `gorm:"size:3"`
	Gender bool   `gorm:"default:true"`
	Email  *string `gorm:"size:128"`
}

func main() {
	// 省略了数据库连接和自动迁移的代码

	// 创建学生记录
	email := "123@qq.com"
	s1 := Student{
		Name:   "zhangsan",
		Age:    21,
		Gender: true,
		Email:  &email,
	}

	// 插入记录到数据库
	err := DB.Create(&s1).Error
	if err != nil {
		fmt.Println("Error occurred while creating record:", err)
	} else {
		fmt.Printf("Student record created: %+v\n", s1)
	}
}

批量插入

GORM 也支持批量插入操作,这在需要插入多条记录时非常有用。你可以创建一个模型的切片,然后使用 Create 方法一次性插入所有记录。

// 创建学生记录列表
studentList := []Student{}
for i := 0; i < 10; i++ {
		studentList = append(studentList, Student{
			Name:   fmt.Sprintf("测试%d", i),
			Age:    21,
			Gender: true,
			Email:  nil,
		})
	}

// 批量插入记录到数据库
	err = DB.Create(&studentList).Error
	if err != nil {
		fmt.Println("Error occurred while creating records:", err)
	} else {
		fmt.Println("Batch records created successfully.")
	}

注意事项

  1. 指针字段:对于可能为 NULL 的字段,使用指针类型(如 *string)。
  2. 默认值:使用 gorm:"default:value" 标签为字段指定默认值。
  3. 错误处理:在使用 Create 方法后,始终检查 Error 属性以处理可能发生的错误。

总结

GORM 提供了一种非常直观的方式来插入数据,无论是单条记录还是批量插入。通过上述示例,你应该能够理解如何在 GORM 中执行这些操作。记得在使用 GORM 进行数据库操作时,始终进行错误检查以确保程序的健壮性。

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值