Composants d'ingénierie Golang Cartographie relationnelle d'objets CRUD basé sur orm de Gorm et SQL natif

GORM est l'un des frameworks ORM (Object-Relational Mapping) les plus populaires en langage Go, qui fournit des opérations CRUD basées sur la structure et des fonctions de requête SQL natives. Dans cet article, nous allons explorer comment utiliser GORM pour les opérations CRUD basées sur ORM et les requêtes SQL natives.

  1. CRUD basé sur ORM

CRUD basé sur ORM utilisant GORM est très simple, il suffit de définir un modèle et d'appeler la méthode correspondante. Voici un exemple de code :

type User struct {
    gorm.Model
    Name string `gorm:"not null"`
    Age  int
}

func main() {
    // 连接数据库
    db, err := gorm.Open(mysql.Open("user:password@tcp(host:port)/database"), &gorm.Config{})
    if err != nil {
        panic(err)
    }

    // 自动迁移表格(如果不存在则创建)
    db.AutoMigrate(&User{})

    // 创建记录
    user := User{Name: "Alice", Age: 20}
    db.Create(&user)

    // 查询记录
    var result User
    db.First(&result, "name = ?", "Alice")

	// 更新记录
	db.Model(&result).Update("Age", 21)

	// 删除记录
	db.Delete(&result)
}

Cet exemple montre comment utiliser GORM pour les opérations de création, lecture, mise à jour et suppression (CRUD). Le code crée un Usermodèle appelé et utilise db.Create()la méthode pour créer un nouvel enregistrement. Ensuite, db.First()recherchez le premier name = "Alice"enregistrement qui satisfait la condition ( ) en appelant la méthode. db.Model()et Update()les méthodes sont utilisées pour mettre à jour l'enregistrement et enfin db.Delete()le supprimer en appelant la méthode.

  1. Requête SQL native

En plus de fournir des opérations CRUD basées sur ORM, GORM prend également en charge les requêtes SQL natives. Ceci est utile pour les applications qui doivent effectuer des requêtes complexes ou dont les performances sont critiques. Voici un exemple de code :

func main() {
    // 连接数据库
    db, err := gorm.Open(mysql.Open("user:password@tcp(host:port)/database"), &gorm.Config{})
    if err != nil {
        panic(err)
    }

	// 执行原生SQL查询并获取结果集
	var users []User
	db.Raw("SELECT * FROM users WHERE age > ?", 18).Scan(&users)

	// 输出结果集
	for _, user := range users {
		fmt.Printf("%d %s %d\n", user.ID, user.Name, user.Age)
	}
}

Cet exemple montre comment utiliser GORM pour les requêtes SQL natives. Le code db.Raw()exécute une instruction SQL brute en appelant une méthode et analyse les résultats dans une userstranche nommée. Enfin, parcourez la tranche et affichez l'ID, le nom et l'âge de chaque utilisateur.

Résumer

GORM est un framework ORM puissant et flexible qui fournit des opérations CRUD basées sur la structure et des fonctions de requête SQL natives. Que vous ayez besoin de développer rapidement des applications ou de gérer des requêtes de données complexes dans des scénarios à forte charge, GORM peut répondre à vos besoins.

おすすめ

転載: blog.csdn.net/SMILY12138/article/details/130927930
おすすめ