ORM:对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系型数据库中。本质上是将数据从一种形式转换到另一种形式。
具体例子:PHP面向对象编程,MySQL是关系型的数据库
原始做法:
$query = "select * from post where id = 1"; $post = query_func($query); echo $post['title']; echo $post['content'];
ORM做法:
$post = postModel::getInstance()->get(1); echo $post->getTitle(); echo $post->getContent();
更为复杂一对多,多对一,多对多的对应关系
$category = $post->getCategory(); $tags = $post->getTags();
优点:
1,将业务逻辑和数据存储解耦,程序员更多精力放在业务逻辑上,数据存储交给ORM来处理
2,便于数据库优化,不会涉及太多业务层逻辑
缺点:
1,增加多了一层关联,会伴随着性能下降
2,复杂的SQL查询,ORM有时难以应付
Leave a Reply