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