Maison  >  Article  >  développement back-end  >  Golang nécessite-t-il ORM ?

Golang nécessite-t-il ORM ?

(*-*)浩
(*-*)浩original
2019-12-31 10:07:054780parcourir

Golang nécessite-t-il ORM ?

Les ORM actuellement les plus courants/actifs incluent gorm, xorm, gorose, etc.                                                                                                                                                                                                                                                                 sqlite, mssql, oracleSupport transactionnel

API de chaîne

has, err := engine.Where("name = ?", name).Desc("id").Get(&user)
err := engine.Where(builder.NotIn("a", 1, 2).And(builder.In("b", "c", "d", "e"))).Find(&users)
Prise en charge du fonctionnement SQL natif

Cache de requête

Selon au code de génération inverse de la base de données

Chargement en cascade

Fournir la sortie du journal des instructions SQL

Prise en charge du traitement des requêtes par lots

gorm

Mécanisme de crochet (Avant/Après Créer/Enregistrer/Mettre à jour/Supprimer/Rechercher)

Relation d'objet en a un, en a plusieurs, appartient à, plusieurs à plusieurs, polymorphisme

Chargement à chaud

Prise en charge des opérations SQL natives

Transactionnelles

API de chaîne

tx := db.Where("name = ?", "jinzhu").Where("age = ?", 20).Find(&users)

Les bases de données prises en charge sont : mysql, postgre, sqlite, sqlserver

Opération de requête

gorose

Les bases de données prises en charge sont : mysql, postgres, sqlite, mssql, oracle

API Chain

Connectez plusieurs bases de données et commuter simultanément

Prise en charge des opérations SQL natives

Prise en charge du traitement des requêtes par lots

Transactionnel

Similarité

Les bases de données pris en charge par chaque ORM sont fondamentalement les mêmes (toutes les bases de données grand public sont prises en charge)

Prise en charge des requêtes transactionnelles, chaînées, etc.

Différences

xorm et gorose prend en charge le traitement des requêtes par lots

xorm prend en charge la séparation maître-esclave en lecture et en écriture

gorm prend en charge le chargement à chaud

gorose facilite la commutation entre plusieurs bases de données

Documentation complète gorm> ;xorm>gorose

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn