title: FastAPI與SQLAlchemy數據庫集成
date: 2025/04/17 15:33:34
updated: 2025/04/17 15:33:34
author: cmdragon
excerpt:
FastAPI與SQLAlchemy的集成通過創建虛擬環境、安裝依賴、配置數據庫連接、定義數據模型和實現路由來完成。核心模塊包括數據庫引擎、會話工廠和聲明性基類。數據模型通過SQLAlchemy定義,路由通過FastAPI實現,支持創建和查詢用戶。測試接口通過curl命令進行,常見報錯包括表不存在、請求體驗證錯誤和會話不可用。高級配置涉及連接池優化和單元測試。
categories:
- 后端開發
- FastAPI
tags:
- FastAPI
- SQLAlchemy
- 數據庫集成
- 依賴注入
- 數據模型
- 錯誤處理
- 單元測試


掃描二維碼關注或者微信搜一搜:編程智域 前端至全棧交流與成長
探索數千個預構建的 AI 應用,開啟你的下一個偉大創意
1. FastAPI與SQLAlchemy同步數據庫集成實戰
1.1 項目初始化與依賴安裝
在項目根目錄執行以下命令創建虛擬環境并安裝依賴:
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate.bat # Windows
pip install fastapi sqlalchemy uvicorn
1.2 數據庫配置核心模塊
創建database.py
文件:
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker# 數據庫連接配置(使用SQLite示例)
SQLALCHEMY_DATABASE_URL = "sqlite:///./test.db"# 創建數據庫引擎(關閉SQLite連接池檢查)
engine = create_engine(SQLALCHEMY_DATABASE_URL,connect_args={"check_same_thread": False}
)# 會話工廠(關閉自動提交,啟用自動刷新)
SessionLocal = sessionmaker(autocommit=False,autoflush=False,bind=engine
)# 聲明性基類
Base = declarative_base()def get_db():"""數據庫會話依賴生成器"""db = SessionLocal()try:yield dbfinally:db.close()
1.3 數據模型定義
創建models.py
文件:
from sqlalchemy import Column, Integer, String