1、什么是ORM
全称为Object-Relational Mapping, 是一种使用面向对象范式来对数据库进行操纵或查询,是一种对象到关系的映射的技术。
2、例子
传统的将从数据库中查询到的数据变成列表对象
book_list = new List();
sql = "SELECT book FROM library WHERE author = 'Linus'";
data = query(sql); // I over simplify ...
while (row = data.next())
{
book = new Book();
book.setAuthor(row.get('author');
book_list.add(book);
}
使用ORM库可能只需要一句话:
book_list = BookTable.query(author="Linus");
3、ORM优劣势
a、方便更新和维护,以及代码的复用(Don't repeat yourself)
b、自动化操作
c、强迫你写MVC代码
d、不必写SQL代码
ORM也有一些不足,比如ORM库通常体积较大,需要进行设置,但由于其对SQL进行了抽象,不容易发现问题,效率在大项目上可能不如传统的高。
4、常见的ORM库
Java: Hibernate
PHP: Propel, Doctrine
Python: Django ORM , SQLAlchemy
网友评论