ORM

作者: Shaw007 | 来源:发表于2018-10-31 21:56 被阅读0次

    参考自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

          本文链接:https://www.haomeiwen.com/subject/vbfwtqtx.html