软件测试|测试平台开发 Flask 操作数据库 -ORM
什么是持久化
是把数据保存到可永久保存的存储设备中(比如磁盘)。持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件中、xml 数据文件中等
ORM(对象关系映射)
作用是在关系型数据库和对象之间做一个映射,这样在具体操作数据库的时候,不需要去和 SQL 语句打交道,只需要去操作对象即可
ORM 于 SQL 的对比:
ORM 的优缺点
优点:
隐藏了数据访问细节
ORM 使我们构造固化数据结构变得非常简单
缺点:
性能下降,添加了关联操作
无法解决特别复杂的数据库操作
ORM 中间件配置
插件:Flask-SQLAlchemy
SQLAlchemy 是 python 最有名的 ORM 框架,在 flask 中一般使用 Flask-SQLAlchemy 来操作数据库
安装:
pip install flask-sqlalchemy
注意:flask-sqlalchemy 在安装/使用过程中, 如果出现 ModuleNotFoundError: No module named 'MySQLdb’错误, 则表示缺少 mysql 依赖包,可以安装 pymysql 解决
pip install pymysql
常用配置
SQLALCHEMY_DATABASE_URI
:用于连接数据的数据库
连接串格式:
dialect+driver://username:password@host:port/database
dialect 是数据库的实现,mysql,sqlite 等 driver 是数据库的驱动
SQLALCHEMY_TRACK_MODIFICATIONS
:追踪对象的修改
如果设置成 True (默认情况),Flask-SQLAlchemy 将会追踪对象的修改并且发送信号。这需要额外的内存, 如果不必要的可以禁用它。
SQLALCHEMY_BINDS
:用于多数据库连接配置
一个映射绑定 (bind) 键到 SQLAlchemy 连接 URIs 的字典。 更多的信息请参阅 绑定多个数据库。
SQLALCHEMY_POOL_SIZE
:连接池的配置,默认为 5
数据库连接池的大小。默认是数据库引擎的默认值 (通常是 5)
评论