天天看点

ORM是什么?

它是什么

字面意思

实际上就是个缩写,表示对象-关系映射的缩写

O->Object

RM->Relational (关系) Mapping(映射)

代表什么思想

实际上就是一种把数据库映射成对象的想法

数据库的表(table) --> 类(class)

记录(record,行数据)–> 对象(object)

字段(field)–> 对象的属性(attribute)

比如说查询语句 SELECT id, first_name, last_name, phone, birth_date, sex FROM persons WHERE id = 10

对应到代码就是

res = db.执行数据库(sql);
name = res[0]["FIRST_NAME"];
那么ORM的写法就是

p = Person.get(10);
name = p.first_name;
           

这样的好处就是可以不需要了解数据库底层,因为它不需要接触SQL语句

所以ORM有这样一些优点

ORM生态已经比较完备,有很多的工具支持

天生的MVC,ORM就是天生的Model

可以不写SQL了。

它的缺点来说:

复杂查询很难做到,做到了性能也很差

学习成本比较高

由于不需要接触SQL所以无法定制一些特殊的SQL

ORM

继续阅读