什么是ORM?为什么要用ORM?

Posted mynorth

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是ORM?为什么要用ORM?相关的知识,希望对你有一定的参考价值。

了解orm,先了解以下概念:

什么是“持久化” 
持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。

什么是 “持久层” 
持久层(Persistence Layer),即专注于实现数据持久化应用领域的某个特定系统的一个逻辑层面,将数据使用者和数据实体相关联。

 

什么是ORM

即Object-Relationl Mapping,它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了 。

 

举例来说,比如要完成一个购物打折促销的程序,用 ORM 思想将如下实现(引自《深入浅出Hibernate》):
业务逻辑如下:
public Double calcAmount(String customerid, double amount) 
{
    // 根据客户ID获得客户记录
    Customer customer = CustomerManager.getCustomer(custmerid); 
    // 根据客户等级获得打折规则
    Promotion promotion = PromotionManager.getPromotion(customer.getLevel()); 
    // 累积客户总消费额,并保存累计结果
    customer.setSumAmount(customer.getSumAmount().add(amount); 
    CustomerManager.save(customer); 
    // 返回打折后的金额
    return amount.multiply(protomtion.getRatio()); 
}
这 样代码就非常清晰了,而且与数据存取逻辑完全分离。设计业务逻辑代码的时候完全不需要考虑数据库JDBC的那些千篇一律的操作,而将它交给 CustomerManager 和 PromotionManager 两个类去完成

以上是关于什么是ORM?为什么要用ORM?的主要内容,如果未能解决你的问题,请参考以下文章

什么是ORM,以及在php上的使用

ORM框架疏理——廖雪峰实战系列

各位都用啥ORM框架

什么是orm框架

ORM的概念, ORM到底是什么

ORM是什么?如何理解ORM