GORM ORM 도구를 사용하여 데이터베이스와 상호 작용하는 것은 설치 및 초기화(1), 모델 정의(2), 매핑 설정(3), 레코드 생성(4), 레코드 읽기(5), 기록 업데이트(6), 기록 삭제(7), 거래 처리(8) 및 ORM(객체 관계형 매핑)에 대한 개념 Go آسان می کند.
Golang ORM 도구를 사용하여 데이터베이스와 상호 작용
소개
ORM(객체 관계형 매핑) 도구를 사용하면 단순화할 수 있습니다. 관계형 데이터베이스 간의 상호 작용을 지원하는 Golang 애플리케이션. 이를 통해 개발자는 개체와 데이터베이스 테이블 간의 매핑을 설정하여 데이터베이스 레코드를 쉽게 생성, 읽기, 업데이트 및 삭제할 수 있습니다.
GORM ORM
GORM은 Golang에서 널리 사용되는 ORM 도구로, 풍부한 기능과 직관적인 API를 제공합니다. 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{}) }
Create Record
p := Product{ Name: "Apple iPhone 13", Price: 999.99, } db.Create(&p)
Read Record
// 读取所有记录 products := []Product{} db.Find(&products) // 根据主键查找记录 var p Product db.First(&p, 1)
Update Record
p.Price = 1099.99 db.Save(&p)
Delete Record
db.Delete(&p)
Transactionprocessing
트랜잭션을 사용하면 여러 데이터베이스 작업의 동시 성공 또는 실패를 보장할 수 있습니다.
// 开启一个事务 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!