


Comment implémenter la connexion à la base de données et le traitement des transactions dans FastAPI
Comment implémenter la connexion à une base de données et le traitement des transactions dans FastAPI
Introduction :
Avec le développement rapide des applications Web, la connexion à la base de données et le traitement des transactions sont devenus un sujet très important. FastAPI est un framework Web Python hautes performances apprécié des développeurs pour sa rapidité et sa facilité d'utilisation. Dans cet article, nous présenterons comment implémenter des connexions et des transactions de base de données dans FastAPI pour vous aider à créer des applications Web fiables et efficaces.
Première partie : Connexion à la base de données
Dans FastAPI, divers outils de connexion à la base de données peuvent être utilisés, tels que SQLAlchemy et Tortoise-ORM. Nous utiliserons SQLAlchemy comme exemple pour démontrer.
- Installer SQLAlchemy et le pilote MySQL
Tout d'abord, nous devons installer la bibliothèque SQLAlchemy et le pilote MySQL correspondant. Vous pouvez l'installer à l'aide de la commande suivante :
pip install sqlalchemy pip install mysql-connector-python
- Créer une connexion à la base de données
Dans l'application FastAPI, nous pouvons créer une connexion à la base de données dans l'application principale et l'injecter dans le gestionnaire de route. Voici un exemple de code :
from fastapi import Depends, FastAPI from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm.session import Session app = FastAPI() SQLALCHEMY_DATABASE_URL = "mysql+mysqlconnector://user:password@localhost/db_name" engine = create_engine( SQLALCHEMY_DATABASE_URL, pool_size=10, max_overflow=20 ) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) Base = declarative_base() async def get_db() -> Session: try: db = SessionLocal() yield db finally: db.close()
Dans le code ci-dessus, nous créons d'abord l'URL de la connexion à la base de données, puis utilisons la fonction create_engine de SQLAlchemy pour créer le moteur de base de données. Ensuite, nous définissons une classe SessionLocal pour maintenir la session de base de données. Enfin, nous créons une fonction de dépendance get_db qui renverra une instance de session de base de données à utiliser dans chaque gestionnaire de requêtes.
Partie 2 : Traitement des transactions
Dans FastAPI, le traitement des transactions peut être utilisé pour garantir l'atomicité et la cohérence des opérations de base de données. Vous trouverez ci-dessous un exemple de code qui montre comment utiliser les transactions avec FastAPI.
- Injecter la session de base de données à l'aide de dépendances
Nous continuerons à utiliser la fonction de dépendance get_db que nous avons créée plus tôt dans cet exemple et injecterons la session de base de données dans le gestionnaire de route.
from fastapi import Depends, FastAPI from sqlalchemy.orm import Session from .models import User from .crud import create_user from .database import get_db app = FastAPI() @app.post("/users/") async def create_user_handler(user: User, db: Session = Depends(get_db)): return create_user(db=db, user=user)
Dans le code ci-dessus, nous définissons un gestionnaire de route create_user_handler qui accepte un objet utilisateur et une session de base de données comme paramètres. Dans ce gestionnaire, nous appelons une fonction appelée create_user qui créera un nouvel utilisateur dans la base de données.
- Implémentation du traitement des transactions
Ce qui suit est le code d'un exemple de fonction create_user, qui montre comment utiliser le traitement des transactions dans une session de base de données :
from sqlalchemy.orm import Session from .models import User def create_user(db: Session, user: User): try: db.begin() db.add(user) db.commit() db.refresh(user) return user except: db.rollback() raise
Dans le code ci-dessus, nous démarrons d'abord une transaction en utilisant le db.begin( ) déclaration . Nous ajoutons ensuite l'objet utilisateur à la session de base de données à l'aide de l'instruction db.add(). Ensuite, nous validons la transaction dans la base de données à l'aide de l'instruction db.commit(). Si une erreur se produit pendant le processus de validation, nous utilisons l'instruction db.rollback() pour annuler la transaction. Enfin, nous actualisons l'objet utilisateur à l'aide de l'instruction db.refresh() pour nous assurer qu'il contient la valeur de clé primaire générée dans la base de données.
Conclusion :
Dans cet article, nous avons présenté comment implémenter la connexion à la base de données et le traitement des transactions dans FastAPI. Nous avons d'abord créé la connexion à la base de données à l'aide de SQLAlchemy, puis avons utilisé la fonction de dépendance pour injecter la session de base de données dans le gestionnaire de route. Ensuite, nous avons montré comment utiliser les transactions au sein d'une session de base de données pour garantir l'atomicité et la cohérence des opérations de base de données. En apprenant et en pratiquant ces techniques, vous serez en mesure de créer des applications Web fiables et efficaces.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

FlaskvsFastAPI : Le meilleur choix pour un développement efficace de WebAPI Introduction : Dans le développement de logiciels modernes, WebAPI est devenu un élément indispensable. Ils fournissent des données et des services qui permettent la communication et l'interopérabilité entre différentes applications. Lors du choix d'un framework pour développer WebAPI, Flask et FastAPI sont deux choix qui ont beaucoup retenu l'attention. Les deux frameworks sont très populaires et chacun présente ses propres avantages. Dans cet article, nous examinerons Fl

Utilisez le framework FastAPI pour créer des applications Web internationales FastAPI est un framework Web Python hautes performances qui combine des annotations de type Python et une prise en charge asynchrone hautes performances pour rendre le développement d'applications Web plus simple, plus rapide et plus fiable. Lors de la création d'une application Web internationale, FastAPI fournit des outils et des concepts pratiques qui permettent à l'application de prendre facilement en charge plusieurs langues. Ci-dessous, je vais donner un exemple de code spécifique pour présenter comment utiliser le framework FastAPI pour construire

Django, Flask et FastAPI : quel framework convient aux débutants ? Introduction : Dans le domaine du développement d'applications Web, il existe de nombreux excellents frameworks Python parmi lesquels choisir. Cet article se concentrera sur les trois frameworks les plus populaires, Django, Flask et FastAPI. Nous évaluerons leurs fonctionnalités et discuterons du framework le mieux adapté aux débutants. Parallèlement, nous fournirons également quelques exemples de code spécifiques pour aider les débutants à mieux comprendre ces frameworks. 1. Django : Django

Les problèmes courants de connexion à la base de données et de lecture et d'écriture de données en C# nécessitent des exemples de code spécifiques. Dans le développement C#, la connexion à la base de données et la lecture et l'écriture des données sont des problèmes fréquemment rencontrés. Une gestion correcte de ces problèmes est la clé pour garantir la qualité et les performances du code. Cet article présentera certains problèmes courants de connexion à une base de données et de lecture et d'écriture de données, et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et résoudre ces problèmes. Problèmes de connexion à la base de données 1.1 Erreurs de chaîne de connexion Lors de la connexion à la base de données, une erreur courante est que la chaîne de connexion est incorrecte. La chaîne de connexion contient la connexion à la base de données

Les raisons d'un échec de connexion à la base de données PHP incluent : le serveur de base de données n'est pas en cours d'exécution, un nom d'hôte ou un port incorrect, des informations d'identification de base de données incorrectes ou un manque d'autorisations appropriées. Les solutions incluent : le démarrage du serveur, la vérification du nom d'hôte et du port, la vérification des informations d'identification, la modification des autorisations et l'ajustement des paramètres du pare-feu.

Django, Flask et FastAPI : choisissez celui qui correspond le mieux à vos besoins de développement, exemples de code spécifiques requis Introduction : Dans le développement Web moderne, le choix du bon framework est crucial. Alors que Python continue de se développer dans le domaine du développement Web, des frameworks tels que Django, Flask et FastAPI deviennent de plus en plus populaires parmi les développeurs. Cet article présentera les caractéristiques et les scénarios applicables de ces trois frameworks, combinés à des exemples de code spécifiques, pour vous aider à choisir le framework le mieux adapté à vos besoins de développement. 1.D

Méthode de connexion à la base de données de configuration Mybatis : 1. Spécifiez la source de données ; 2. Configurez le gestionnaire de transactions ; 3. Configurez le processeur de type et le mappeur ; 4. Utilisez les éléments d'environnement ; Introduction détaillée : 1. Spécifiez la source de données. Dans le fichier « mybatis-config.xml », vous devez configurer la source de données. La source de données est une interface qui fournit une connexion à la base de données. la normalité des transactions de la base de données. Pour le traitement, vous devez également configurer le gestionnaire de transactions 3. Configurer le processeur de type et le mappeur, etc.

Les connexions avancées aux bases de données PHP impliquent des transactions, des verrous et un contrôle de concurrence pour garantir l'intégrité des données et éviter les erreurs. Une transaction est une unité atomique d'un ensemble d'opérations, gérée via les méthodes beginTransaction(), commit() et rollback(). Les verrous empêchent l'accès simultané aux données via PDO::LOCK_SHARED et PDO::LOCK_EXCLUSIVE. Le contrôle d'accès concurrentiel coordonne l'accès à plusieurs transactions via les niveaux d'isolement MySQL (lecture non validée, lecture validée, lecture répétable, sérialisée). Dans les applications pratiques, les transactions, les verrous et le contrôle de concurrence sont utilisés pour la gestion des stocks de produits sur les sites Web d'achat afin de garantir l'intégrité des données et d'éviter les problèmes d'inventaire.
