什么是ORM,ORM的优点是什么?

时间:2018-08-01 21:19:22   来源:上海尚学堂   阅读:

一、问题产生


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

1、SQL语句重复利用率不高,越复杂的SQL语句条件越多,代码越长。你会看到很多很相近的SQL语句。

2、很多SQL语句是在业务逻辑中拼出来的,如果有数据库需要更改,就要求开发人员非常了解这些逻辑,否则就很容易漏掉对某些SQL语句的修改。

3、写SQL时容易忽略Web安全问题,给未来造成隐患。

 

二、ORM简介

ORM,全称 Object Relational Mapping,中文叫作对象关系映射,通过它我们可以直接使用Python的类的方式做数据库开发,而不再直接写原生的SQL语句(甚至不需要SQL的基础)。
 
通过把表映射成类,把行作为实例,把字段作为属性,ORM在执行对象操作的时候会把对应的操作转换为数据库原生语句的方式来完成数据库开发工作。

 

三、ORM优点

ORM有如下优点:

1、易用性。使用这种ORM数据库抽象封装方式做开发,可以有效减少出现重复SQL语句的概率,写出来的模型也更直观清晰。

2、性能损耗小。ORM转换成底层数据库操作指令确实会有一些开销。以笔者的经验,性能损耗很少(不足5%),只要不是对性能有严苛的要求,综合考虑开发效率的提升,代码重复利用率等因素,带来的好处要远大于性能损耗,而且项目越大其作越明显。

3、设计灵活。可以很轻松地写复杂的查询。

4、可移植。比如SQLAlchemy,它支持多个关系数据库引擎,包括流行的MySQL、PostgreSQL和SQLite,可以近乎无痛地更换数据库,只需要改很少的配置项即可。


返回本栏目了解上海尚学堂python培训更多技术文章。联系客服小姐姐可以获取python培训资料,或者预定上海尚学堂python培训免费试听名额。
分享:0

电话咨询

客服热线服务时间

周一至周五 9:00-21:00

周六至周日 9:00-18:00

咨询电话

021-67690939
15201841284

微信扫一扫