原标题:Web框架中的ORM框架
原文来自:CSDN 原文链接:https://blog.csdn.net/weixin_43790276/article/details/102616993
Web框架中的ORM框架
在 Python 实现的 Web 框架中,通过 API 接口来访问后端的视图函数,视图函数对数据库中的数据进行处理然后返回给前端。在这个过程中,视图函数不是直接通过 SQL 来操作数据库,而是通过模型类的对象属性或对象方法来操作数据库,这就是 ORM 带来的便利。
一、ORM 简介
ORM(Object-Relational Mapping),直接翻译成中文就是对象关系映射。
从字面意思即可理解,ORM 是模型对象到关系数据库数据的映射。
ORM 的映射关系是通过 ORM 框架来实现的,ORM 框架是用于实现 ORM 技术的程序,ORM框架有很多,不同语言、不同 Web 框架使用的 ORM 框架是不相同的。
在 Python 的常用 Web 框架 Flask、Django 中,都已经内置了 ORM 框架,所以在使用 Flask 和 Django 等框架开发时,默认就已经有 ORM 框架可以使用了。
当调用模型类对象的方法时,ORM 框架会帮我们生成对应的 SQL 语句,然后对数据库进行增删改查操作。对数据库进行操作后,ORM 框架会将修改后的数据映射到模型类对象的属性中。
所以,使用 ORM,只要调用模型类对象的方法,即可操作数据库了。
二、ORM 框架的作用
ORM 框架完成了模型类对象到数据库之间的映射。不管使用哪种数据库,SQLite、MYSQL、Oracle等,ORM 都可以将对象的方法转换成 SQL 语句,然后对数据库操作。
使用 ORM 框架,不需要直接面向数据库编程,而是定义模型类,通过类和类对象就能操作它所对应的数据表中的数据。
ORM框架可以根据我们设计的类自动帮我们生成数据库中的表,省去了我们自己在数据库中建表的过程。
配置好数据库连接信息,定义模型类,执行数据库迁移后,就可以通过类和对象完成数据增删改查操作。
三、ORM 的优点
ORM 对数据库操作进行了封装,使用起来很方便,也有很多优点:
1. 在开发过程中,只需要面向对象编程即可,不需要面向数据库编程。
2. 对数据库的所有操作,ORM 都转化成了对类属性和类方法的操作。
3. 不用编写操作数据库的 SQL 语句。
4. ORM 实现了数据模型与数据库的解耦,对数据库的操作进行了封装,避免了不同数据库操作上的差异,不需要关注用的是什么数据库,MYSQSL、Oracle 等都一样。
5. 在开发过程中,通过简单的配置就可以轻松更换数据库,简单方便。
具有这些优点,所以 ORM 框架非常实用,很多编程语言的 Web 框架中都内置了 ORM 框架。
四、ORM 的缺点
因为 ORM 框架对数据库的操作进行了封装,多了转换的过程,所以有一些性能损失:
1. 在通过模型类操作数据库时,相比较直接使用 SQL 语句操作数据库,会有性能损失。
2. 通过模型类进行查询操作时,数据库中的查询结果要先转化成对象,在映射过程中也有性能损失。
不过这些性能损失相对于 ORM 带来的便利,还是选择 ORM 的便利,在很多项目中,这种便利对开发人员来说是非常有必要的,性能可以采用其他方式来优化。
免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。
合作及投稿邮箱:E-mail:editor@tusaishared.com