To use the GORM library with Go, follow these steps:
Install GORM: Run the following command in your terminal to install the GORM package:
go get -u gorm.io/gorm
Import GORM: Import the GORM package into your Go code by adding the following line at the beginning of your file:
import "gorm.io/gorm"
Create a database connection: Connect to your database by using the GORM library. Here's an example of how to create a connection to a PostgreSQL database:
dsn := "host=localhost user=your_user password=your_password dbname=your_database port=5432 sslmode=disable TimeZone=Asia/Shanghai"
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
if err != nil {
panic("failed to connect to database")
}
Replace the connection details with your actual database information.
Define your models: Create Go struct types that represent your database tables. For example:
type User struct {
gorm.Model
Name string
Email string
}
The gorm.Model
is an embedded struct in GORM that includes fields like ID
, CreatedAt
, UpdatedAt
, and DeletedAt
.
Migrate your models: Use GORM's migration feature to automatically create the necessary database tables based on your Go struct types. To migrate your models, use the AutoMigrate
function:
err = db.AutoMigrate(&User{})
if err != nil {
panic("failed to migrate models")
}
This will create the users
table in your database based on the User
struct.
Perform CRUD operations: Use GORM's API to perform Create, Read, Update, and Delete (CRUD) operations on your models. Here are a few examples:
// Create a new user
user := User{Name: "John Doe", Email: "[email protected]"}
db.Create(&user)
// Find a user by ID
var foundUser User
db.First(&foundUser, 1) // Assuming user with ID=1 exists
// Update a user
foundUser.Name = "Updated Name"
db.Save(&foundUser)
// Delete a user
db.Delete(&foundUser)
GORM provides many other methods for querying and manipulating data. Refer to the GORM documentation for more details.
And that's how you can use the GORM library for Object-Relational Mapping in Go!