ORM

参考自Stackoverflow

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

你可能感兴趣的:(ORM)