Introduction à GORM#
Présentation de GORM#
- Qu'est-ce qu'un ORM (Object Relational Mapping) ?
- Un ORM (Object-Relational Mapping) est un paradigme de programmation qui permet d'interagir avec la base de données en utilisant le langage de programmation orienté objet. Il traduit les tables de la base de données en objets et vice versa.
- Pourquoi utiliser GORM ?
- GORM (Go Object-Relational Mapper) est un ORM écrit en Go. Il est utilisé pour simplifier la gestion des bases de données relationnelles en masquant les détails techniques sous-jacents du langage SQL.
- GORM offre une interface simple pour la création, la lecture, la mise à jour et la suppression de données, tout en fournissant des fonctionnalités avancées telles que les requêtes complexes et les associations.
- Fonctionnalités clés de GORM
- GORM supporte toutes les fonctionnalités principales des bases de données relationnelles telles que les transactions, les migrations, le chargement paresseux et l'optimiste, le verrouillage, les sous-requêtes, les associations, etc.
- GORM supporte également les extensions de bases de données pour PostgreSQL, MySQL, SQLite, et SQL Server.
Installation et configuration de GORM#
- Installation du package GORM
- Pour installer GORM, utilisez la commande suivante dans votre terminal :
go get -u gorm.io/gorm
- Pour installer GORM, utilisez la commande suivante dans votre terminal :
- Configuration de GORM avec Go
- Pour utiliser GORM dans votre projet Go, importez le package comme suit :
import "gorm.io/gorm"
- Vous pouvez ensuite initialiser une instance de GORM avec vos informations de connexion à la base de données.
- Pour utiliser GORM dans votre projet Go, importez le package comme suit :
Les bases de GORM#
- Connexion à la base de données
- Pour se connecter à une base de données avec GORM, utilisez le code suivant :
import ( "gorm.io/driver/sqlite" "gorm.io/gorm" ) func main() { db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{}) if err != nil { panic("failed to connect database") } // use db (gorm.DB) }
- Notez que vous devez remplacer "test.db" par votre propre base de données et "sqlite.Open" par le driver correspondant à votre système de gestion de base de données (SGBD).
- Pour se connecter à une base de données avec GORM, utilisez le code suivant :
- Création, lecture, mise à jour et suppression d'enregistrements
- Avec GORM, vous pouvez facilement créer, lire, mettre à jour et supprimer des enregistrements dans la base de données. Voici un exemple de comment créer un nouvel enregistrement :
user := User{Name: "John Doe", Age: 25} result := db.Create(&user) // Pass pointer of data to Create
- Pour lire des données, vous pouvez utiliser des méthodes comme
Find
,First
,Take
, etc. Par exemple :var users []User db.Find(&users)
- La mise à jour des enregistrements est également simple avec GORM. Voici un exemple de mise à jour du nom d'un utilisateur :
db.Model(&user).Update("Name", "Jane Doe")
- Pour supprimer un enregistrement, vous
- Avec GORM, vous pouvez facilement créer, lire, mettre à jour et supprimer des enregistrements dans la base de données. Voici un exemple de comment créer un nouvel enregistrement :
pouvez utiliser la méthode Delete
. Par exemple :
db.Delete(&user)
- Migration automatique de la structure de la base de données
- GORM propose une fonctionnalité de migration automatique qui crée et met à jour les tables en fonction de la structure de vos modèles Go. Pour effectuer une migration, vous pouvez utiliser la méthode
AutoMigrate
:db.AutoMigrate(&User{})
- Notez que
AutoMigrate
ne supprimera pas les colonnes existantes ou ne changera pas les types de colonnes. Pour ces opérations, une migration manuelle est nécessaire.
- GORM propose une fonctionnalité de migration automatique qui crée et met à jour les tables en fonction de la structure de vos modèles Go. Pour effectuer une migration, vous pouvez utiliser la méthode