GORMを使ってGolangでデータベースを操作する方法

PHPz
リリース: 2023-04-05 14:02:35
オリジナル
1093 人が閲覧しました

Golang は、Web アプリケーション、モバイル アプリケーション、IoT デバイスなどの分野で広く使用されている、高速かつ効率的なプログラミング言語です。 GolangプログラミングではGORMを利用することでデータベースの操作が簡単になり、開発を効率的かつ簡単に行うことができます。この記事では、GORMを使ってGolangでデータベースを操作する方法を紹介します。

GORM は、構造化データをリレーショナル データベースにマッピングできる Golang ベースの ORM ライブラリです。 MySQL、PostgreSQL、SQLite、SQL Server、およびその他のデータベースをサポートし、柔軟なクエリ API を提供し、CRUD 操作を簡単に実行できます。

GORM のインストール

GORM を使用する前に、まず GORM をインストールする必要があります。 Golang のパッケージ管理ツールを使用して、GORM をインストールします:

go get -u github.com/jinzhu/gorm
ログイン後にコピー

GORM の使用

GORM の使用には主に次の手順が含まれます:

  1. データベースに接続

GORM を使用する前に、まずデータベースに接続する必要があります。 Open メソッドを使用してデータベースに接続できます。

import "github.com/jinzhu/gorm"

db, err := gorm.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local")
if err != nil {
    panic(err)
}
defer db.Close()
ログイン後にコピー

ここでは MySQL を例に挙げます。「mysql」はデータベース エンジンを表し、「user」と「password」はデータベースのユーザー名とパスワードを表します。 「127.0.0.1:3306」はデータベースのアドレスとポートを表し、「dbname」は接続するデータベースの名前を表し、「charset=utf8mb4&parseTime=True&loc=Local」は接続パラメータを表します。

  1. データ モデルを定義する

GORM をデータベース操作に使用する前に、データ モデルを定義する必要があります。 GORM は構造体を使用してデータ モデルを表現し、構造体のフィールドはデータベースのテーブル フィールドに対応します。たとえば、ユーザーを表す User 構造を定義します。

type User struct {
    ID        uint   `gorm:"primary_key"`
    Name      string
    Age       int
    Gender    string
    Email     string
}
ログイン後にコピー

ここでは、データベース内の ID、名前、年齢、性別、電子メールに対応する 5 つのフィールドが定義されています。

  1. テーブルの作成

データ モデルを定義した後、GORM を通じてデータベース テーブルを作成する必要があります。 AutoMigrate メソッドを使用してテーブルを作成できます。

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

ここで渡されるパラメータは、User テーブルが作成されることを示す User タイプのポインタです。

  1. データの挿入

GORM を使用してデータを挿入すると非常に便利です。ユーザー インスタンスを作成し、Create メソッドを呼び出すだけです:

user := User{Name: "John", Age: 25, Gender: "Male", Email: "john@example.com"}
db.Create(&user)
ログイン後にコピー

ここで John という名前のユーザーを作成し、データベースに挿入します。

  1. クエリ データ

GORM のクエリ API は非常に柔軟で、複数のクエリ メソッドをサポートしています。一般的に使用されるクエリ API の一部を次に示します。

すべてのユーザーをクエリする:

var users []User
db.Find(&users)
ログイン後にコピー

ID に基づいてユーザーをクエリする:

var user User
db.First(&user, 1) // 查询id为1的用户
ログイン後にコピー

条件に基づいてユーザーをクエリする:

var users []User
db.Where("age > ?", 20).Find(&users) // 查询年龄大于20岁的用户
ログイン後にコピー
  1. データの更新

データの更新も非常に簡単です。Model メソッドを使用して、更新するレコードを見つけ、Update メソッドを通じて更新できます:

db.Model(&user).Update("email", "john@example.com")
ログイン後にコピー

ユーザーの電子メール フィールドがここで更新されます。「john@example.com」。

  1. データの削除

データを削除するには、Delete メソッドを使用できます:

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

ここでユーザー レコードが削除されます。

概要

GORM は、Golang でデータベースを操作する作業を大幅に簡素化できる、非常に便利で柔軟な ORM ライブラリです。この記事では、GORM のインストール、使用プロセス、および共通 API を紹介し、Golang 開発者に役立つことを願っています。

以上がGORMを使ってGolangでデータベースを操作する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!