前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ORM魔法

ORM魔法

作者头像
星哥玩云
发布2022-09-14 18:37:56
2730
发布2022-09-14 18:37:56
举报
文章被收录于专栏:开源部署开源部署

ORM魔法

flask作为一款MVC框架,也提供了ORM功能

1、概述

对象-关系-映射

ORM,全称Object Relational Mapping,中文叫做对象关系映射,通过ORM我们可以通过类的方式去操作数据库,而不用再写原生的SQL语句

SQLalchemy提供了各种数据库的支持,为了大多数数据库提供了统一的接口。可以根据不同的业务请求使用不用的数据库

2、原因

随着项目越来越大,采用写原生SQL的方式在代码中会出现大量的SQL语句,那么问题就出现了

  • SQL语句重复利用率不高,越复杂的SQL语句条件越多,代码越长。会出现很多相近的SQL语句
  • 很多SQL语句是在业务逻辑中拼出来的,如果有数据库需要更改,就要去修改这些逻辑,这会很容易漏掉对某些SQL语句的修改
  • 写SQL时容易忽略web安全问题,给未来造成隐患

3、任务

  1. 把表映射成类,把行作为实例,把字段作为属性
  2. 将对象、列表的操作,转换为sql语句

4、优点

  1. 易用性:使用ORM做数据库的开发可以有效的减少重复SQL语句的概率,写出来的模型也更加直观、清晰
  2. 性能损耗小:ORM转换成底层数据库操作指令确实会有一些开销。但从实际的情况来看,这种性能损耗很少(不足5%),只要不是对性能有严苛的要求,综合考虑开发效率、代码的阅读性,带来的好处要远远大于性能损耗,而且项目越大作用越明显
  3. 设计灵活:可以轻松的写出复杂的查询
  4. 可移植性:封装了底层的数据库实现,支持多个关系数据库引擎,包括流行的MySQLPostgreSQLSQLite。可以非常轻松的切换数据库
本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ORM魔法
    • 1、概述
      • 2、原因
        • 3、任务
          • 4、优点
          相关产品与服务
          数据库
          云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
          http://www.vxiaotou.com