ホームページ >バックエンド開発 >Golang >Golang GORMのクエリ操作の詳細例

Golang GORMのクエリ操作の詳細例

PHPz
PHPzオリジナル
2023-04-03 11:50:423754ブラウズ

Golang は比較的新しいプログラミング言語であり、その誕生により Web アプリケーションの開発が容易になりました。 Golang の優位性は、同時実行メカニズムと簡潔な言語構文にあります。 GORM は Golang の ORM (オブジェクト リレーショナル マッピング) ライブラリであり、他の言語の ORM に似ており、オブジェクト指向のデータベース操作を実装でき、データベースの追加、削除、変更、クエリをよりシンプルかつ明確にします。この記事ではGolang GORMのクエリ操作を中心に紹介します。

1. はじめに

Golang GORM をクエリ操作に使用する場合は、最初に GORM ライブラリをインポートしてから、対応するデータベース情報を設定する必要があります (例:

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

dsn := "root:password@tcp(127.0.0.1:3306)/database?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})

)ここではmysqlデータベースを使用し、対応するデータベース接続情報を設定します。 GORM ライブラリをインポートした後、対応するデータ構造を定義する必要があります。例:

type User struct {
  ID        int
  Name      string
  Age       int
  Email     string
  CreatedAt time.Time
}

ここでは、ID、Name、Age、Email、および CreatedAt フィールドを含むユーザー構造を定義します。ID は自動的に増分プライマリになります。キーフィールド。

2. クエリ メソッド

  1. 単一レコードの検索

Golang GORM では、次のように Find メソッドを使用してレコードをクエリできます。

var user User
db.Find(&user, 1) // 查询主键为1的记录

ここでは、ユーザー変数を定義し、Find メソッドを使用して主キー 1 を持つレコードをクエリします。クエリされたデータはユーザー変数に保存されます。

  1. 複数のレコードの検索

Golang GORM では、Find メソッドを使用して複数のレコードをクエリできます。たとえば、次のようになります。

var users []User
db.Find(&users) // 查询所有的记录

ここでは、A を定義します。ユーザーは変数をスライスし、Find メソッドを使用してすべてのレコードをクエリします。クエリされたすべてのデータは users 配列に保存されます。

  1. 条件付きクエリ

Golang GORM では、Where メソッドを使用して条件付きクエリを実行できます。例:

var users []User
db.Where("age > ?", 18).Find(&users) // 查询年龄大于18的所有记录

ここでは年齢をクエリします。 Where メソッドを使用すると、18 を超えるすべてのレコードがユーザーのスライス変数に保存されます。

  1. ファジー クエリ

Golang GORM では、Like メソッドを使用してファジー クエリを実行できます。例:

var users []User
db.Where("name LIKE ?", "%john%").Find(&users) // 查询名字中包含“john”的记录

ここでは Where を使用します。メソッド ファジー クエリ。名前に「john」が含まれるレコードをクエリし、ユーザーのスライス変数に保存します。

  1. IN 条件付きクエリ

Golang GORM では、In メソッドを使用して IN 条件付きクエリを実行できます。例:

var users []User
db.Where("name IN ?", []string{"john", "mary", "bob"}).Find(&users) // 查询名字为john、mary、bob的所有记录

ここでは次のように使用します。 Where メソッド IN 条件クエリが実行され、john、mary、bob という名前のすべてのレコードがクエリされ、ユーザーのスライス変数に格納されました。

  1. BETWEEN 条件クエリ

Golang GORM では、Between メソッドを使用して BETWEEN 条件クエリを実行できます。例:

var users []User
db.Where("age BETWEEN ? AND ?", 18, 30).Find(&users) // 查询年龄在18到30岁之间的所有记录

ここでは使用します。 Where メソッド BETWEEN 条件付きクエリを実行して、18 歳から 30 歳までのすべてのレコードをクエリし、それらをユーザー スライス変数に保存しました。

3. まとめ

以上がGolang GORMのクエリ操作方法です。 Golang GORM のクエリ操作を使用すると、Golang に基づいた ORM 操作を簡単に実装でき、データベースの追加、削除、変更、クエリがより簡単かつ明確になります。もちろん、実際のアプリケーションでは、特定のビジネス ニーズに応じて柔軟に適用する必要があります。

以上がGolang GORMのクエリ操作の詳細例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。