Web框架中的ORM框架

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 实现了数据模型与数据库的解耦,对数据库的操作进行了封装,避免了不同数据库操作上的差异,不需要关注用的是什么数据库,MySQL、Oracle 等都一样。

5. 在开发过程中,通过简单的配置就可以轻松更换数据库,简单方便。

具有这些优点,所以 ORM 框架非常实用,很多编程语言的 Web 框架中都内置了 ORM 框架。

四、ORM 的缺点

因为 ORM 框架对数据库的操作进行了封装,多了转换的过程,所以有一些性能损失:

1. 在通过模型类操作数据库时,相比较直接使用 SQL 语句操作数据库,会有性能损失。

2. 通过模型类进行查询操作时,数据库中的查询结果要先转化成对象,在映射过程中也有性能损失。

不过这些性能损失相对于 ORM 带来的便利,还是选择 ORM 的便利,在很多项目中,这种便利对开发人员来说是非常有必要的,性能可以采用其他方式来优化。

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小斌哥ge

非常感谢,祝你一切顺利。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值