Maison >développement back-end >Golang >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înehas, 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
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, polymorphismeChargement à chaud
Prise en charge des opérations SQL natives
TransactionnellesAPI de chaînetx := db.Where("name = ?", "jinzhu").Where("age = ?", 20).Find(&users)Les bases de données prises en charge sont : mysql, postgre, sqlite, sqlserverOpération de requête
gorose
Les bases de données prises en charge sont : mysql, postgres, sqlite, mssql, oracleAPI ChainConnectez plusieurs bases de données et commuter simultanémentPrise en charge des opérations SQL natives
Prise en charge du traitement des requêtes par lotsTransactionnelSimilarité
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 lotsxorm prend en charge la séparation maître-esclave en lecture et en écrituregorm prend en charge le chargement à chaudgorose facilite la commutation entre plusieurs bases de données
Documentation complète gorm> ;xorm>goroseCe 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!