ホームページ > バックエンド開発 > Golang > Golang ORM ツールを使用してデータベースを操作するにはどうすればよいですか?

Golang ORM ツールを使用してデータベースを操作するにはどうすればよいですか?

WBOY
リリース: 2024-06-01 14:16:56
オリジナル
1037 人が閲覧しました

GORM ORM ツールを使用してデータベースと対話することは、次の手順で簡単に実行できます: インストールと初期化 (1)、モデルの定義 (2)、マッピングの確立 (3)、レコードの作成 (4)、レコードの読み取り (5)、レコードの更新 (6)、レコードの削除 (7)、トランザクション処理 (8)、およびトランザクション処理 (8)、およびトランザクション処理。 ORM (オブジェクト リレーショナル マッピング) の説明Go آسان می کند.

如何使用 Golang ORM 工具与数据库交互?

Golang ORM ツールを使用して、データベース

はじめに

ORM (オブジェクト リレーショナル マッピング) ツールを使用すると、リレーショナル データベース間の相互作用を備えた Golang アプリケーション。これにより、開発者はオブジェクトとデータベース テーブル間のマッピングを確立することで、データベース レコードを簡単に作成、読み取り、更新、削除できます。

GORM ORM

GORM は、豊富な機能と直感的な API を提供する Golang の人気の ORM ツールです。 GORM を使用してデータベースと対話する方法は次のとおりです:

インストールと初期化

import (
    "github.com/jinzhu/gorm"
    _ "github.com/jinzhu/gorm/dialects/mysql"
)

// 创建一个数据库连接
db, err := gorm.Open("mysql", "user:password@/database_name")

if err != nil {
    // 处理错误
}
ログイン後にコピー

モデルを定義する

データベーステーブルに対応する構造を作成する:

type Product struct {
    ID    int    `gorm:"primary_key"`
    Name  string
    Price float64
}
ログイン後にコピー

マッピングを構築する

gorm.Modelを使用してモデル構造本体をマークし、データベース テーブルとのマッピングを確立します:

func init() {
    db.AutoMigrate(&Product{})
}
ログイン後にコピー

レコードの作成

p := Product{
    Name:  "Apple iPhone 13",
    Price: 999.99,
}

db.Create(&p)
ログイン後にコピー

レコードの読み取り

// 读取所有记录
products := []Product{}
db.Find(&products)

// 根据主键查找记录
var p Product
db.First(&p, 1)
ログイン後にコピー

レコードの更新

p.Price = 1099.99
db.Save(&p)
ログイン後にコピー

レコードの削除

db.Delete(&p)
ログイン後にコピー

トランザクション処理

トランザクションを使用すると、複数のデータベース操作の同時成功または失敗を確認できます:

// 开启一个事务
tx := db.Begin()

// 执行多个操作
p.Price = 1199.99
if err := db.Save(&p).Error; err != nil {
    // 出错时回滚事务
    tx.Rollback()
    return err
}

// 提交事务
if err := tx.Commit().Error; err != nil {
    // 出错时回滚事务
    tx.Rollback()
    return err
}
ログイン後にコピー

実際的なケース

単純な CRUD (作成、読み取り、更新、削除) アプリケーションを作成します:

package main

func main() {
    // 初始化数据库连接
    db, _ := gorm.Open("mysql", "user:password@/database_name")

    // 创建一个产品结构体
    type Product struct {
        ID    int    `gorm:"primary_key"`
        Name  string
        Price float64
    }

    // 迁移数据库表
    db.AutoMigrate(&Product{})

    // 创建一个产品
    p := Product{
        Name:  "iPhone 14",
        Price: 999.99,
    }
    db.Create(&p)

    // 读取所有产品
    products := []Product{}
    db.Find(&products)

    // 更新产品价格
    p.Price = 1099.99
    db.Save(&p)

    // 删除产品
    db.Delete(&Product{}, p.ID)
}
ログイン後にコピー

GORM を使用すると、データベースとの対話を簡素化できます, Golang ORM ツールの威力を実証します。

以上がGolang ORM ツールを使用してデータベースを操作するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート