GORM をデータ永続化に使用する方法 (Go 言語 ORM フレームワーク)

WBOY
リリース: 2023-06-17 23:19:07
オリジナル
1792 人が閲覧しました

Go 言語は急速に発展しているプログラミング言語であるため、開発プロセス中にデータ永続化操作を実行する必要があります。この操作を完了するために、Go 言語は ORM フレームワークを使用できます。

GORM は Go 言語をベースにした ORM フレームワークで、シンプルな API を通じて Go 言語のデータ構造をデータベースにマッピングし、永続化操作を実現します。

この記事では、GORM を使用してデータベース接続、モデル定義、データ操作などのデータ永続化を行う方法を紹介します。

  1. データベース接続

データの永続化に GORM を使用する前に、まずデータベースに接続する必要があります。 GORM では、MySQL、PostgreSQL、SQLite など、さまざまなデータベースがサポートされています。

MySQL データベースに接続するときは、次のコードを使用できます:

import (
    "gorm.io/gorm"
    "gorm.io/driver/mysql"
)

func main() {
    dsn := "username:password@tcp(127.0.0.1:3306)/database_name?charset=utf8mb4&parseTime=True&loc=Local"
    db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
    if err != nil {
        panic(err)
    }
    defer db.Close()

    // 进行其他数据操作
}
ログイン後にコピー

上記のコードでは、dsn は MySQL データベースの接続情報です。ユーザー名、パスワード、データベース名などの情報です。 DSN を入力する必要があります。

  1. モデル定義

GORM では、Go 言語の構造を使用してモデルを作成し、各構造はデータベース テーブルを表します。

たとえば、ユーザーテーブルを作成する場合、次のような構造を定義できます。

type User struct {
    gorm.Model
    Name string
    Age  int
}
ログイン後にコピー

このうち gorm.Model は GORM が提供する基本的なモデルで、id、created_at、updated_at が含まれます。 、deleted_at などのフィールド。

  1. データ操作

GORM では、データ操作に db 変数を使用します。 db 変数はデータベース接続を表し、作成、更新、削除、クエリなどのさまざまな操作を実行できます。

以下はサンプル コードです。

(1) データの作成

user := User{Name: "张三", Age: 18}

result := db.Create(&user)

fmt.Println(result.RowsAffected) // 1
ログイン後にコピー

(2) データの更新

db.Model(&user).Update("name", "李四")
ログイン後にコピー

(3) データのクエリ

db.First(&user, 1)
ログイン後にコピー

(4) データの削除

db.Delete(&user, 1)
ログイン後にコピー
  1. 結論

上記は、GORM を使用してデータを永続化する基本的な操作です。追加、削除、変更、確認などの API 操作。

もちろん、GORM はトランザクション、チェーン クエリなどのより高度な操作もサポートしています。GORM の詳しい使用方法については、公式ドキュメントを参照してください。

データ永続化操作を実行する場合、Go 言語には GORM に加えて、xorm、beego などの他のオープンソース ORM フレームワークも含まれます。個人のニーズに基づいて、自分に合ったフレームワークを選択してください。

以上がGORM をデータ永続化に使用する方法 (Go 言語 ORM フレームワーク)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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