zoukankan      html  css  js  c++  java
  • (15)模型层-什么是ORM

    ORM是什么

    1、MVC或者MTV框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动

    2、ORM是“对象-关系-映射”的简称

    作用是什么:查询数据层次图解,如果操作mysql,ORM是在pymysq之上又进行了一层封装,就是将我们输入的orm对象方法转成mysql的语法去执行数据库,获得数据库的数据在中间的orm转换成对象,完成前后端的交互

    PS:所有语言都有orm,不是python独有的

    pyhon中主流的orm框架

    Django's ORM 

    优点:

    1. 易用,学习曲线短 

    2. 和Django紧密集合,用Django时使用约定俗成的方法去操作数据库 

    缺点:

    1. 不好处理复杂的查询,强制开发者回到原生SQL 

    2. 紧密和Django集成,使得在Django环境外很难使用 

    peewee 

    优点:

    1. Django式的API,使其易用 

    2. 轻量实现,很容易和任意web框架集成 

    缺点:

    1. 多对多查询写起来不直观 

    SQLAlchemy 

    优点:

    1. 企业级 API,使得代码有健壮性和适应性 

    2. 灵活的设计,使得能轻松写复杂查询 

    缺点:

    1. 重量级 API,导致长学习曲线 

    其它:SQLObject 、Storm 、、、、

  • 相关阅读:
    webpack 报错(Cannot find moudle ‘webpack-cliinconfig-yargs‘)
    js图片压缩推荐
    Object.assign()更新对象
    poj 2063完全背包
    poj 3592 缩点+SPFA
    hdu2546 01背包 重学背包
    hdu 2503 1713 1108 最小公倍数&最大公约数
    poj3249 拓扑排序+DP
    poj2914无向图的最小割模板
    poj2942(双联通分量,交叉染色判二分图)
  • 原文地址:https://www.cnblogs.com/shizhengquan/p/10515226.html
Copyright © 2011-2022 走看看