MJORM (mongo-java-orm) - 一個MongoDB的Java ORM 框架

jopen 11年前發布 | 54K 次閱讀 MongoDB 持久層框架

該項目旨在為MongoDB和Java提供強大的查詢API和ORM框架。這個項目的目標是:

  • 實現MongoDB驅動的DBObjects與POJOs之間的對象關系映射
  • 使其更容易編寫可測試MongoDB的數據訪問代碼
  • 提供更高級別的MongoDB API來實現一些常見任務
  • 易于Spring框架集成
  • 提供一個基于XML的ORM框架
  • 提供一個基于注釋的ORM框架
  • </ul>

    特性包括:

    • XML and annotation based mapping configuration for POJOs
    • Automatic DBObject to POJO (and vica verca) conversion
    • XML and JavaScript based Map\Reduce configuration and helper classes
    • High level query API via the MongoDao
    • Lower level criteria query API via DaoQuery and DaoModifier
    • MQL (MJORM query language. aka "Michael") a DSL for querying mongo similar to SQL
    • Easy integration with the Spring Framework
    • </ul>

      package com.googlecode.mjorm;
      
      @Entity
      public class Person {
              private String id;
              private String firstName;
              private String lastName;
              private Address address;
      
              @Id
              @Property
              public String getId() { return id; }
              public void setId(String id) { this.id = id; }
      
              @Property
              public String getFirstName() { return firstName; }
              public void setFirstName(String firstName) { this.firstName = firstName; }
      
              @Property
              public String getLastName() { return lastName; }
              public void setLastName(String lastName) { this.lastName = lastName; }
      
              @Property
              public Address getAddress() { return address; }
              public void setAddress(Address address) { this.address = address; }
      
      }
      
      @Entity
      public class Address {
              private String street;
              private String city;
              private String state;
              private String zipCode;
      
              @Property
              public String getStreet() { return street; }
              public void setStreet(String street) { this.street = street; }
      
              @Property
              public String getCity() { return city; }
              public void setCity(String city) { this.city = city; }
      
              @Property
              public String getState() { return state; }
              public void setState(String state) { this.state = state; }
      
              @Property
              public String getZipCode() { return zipCode; }
              public void setZipCode(String zipCode) { this.zipCode = zipCode; }
      }
      // connect to mongo
      Mongo mongo = new Mongo(new MongoURI(uri)); // 10gen driver
      
      // create object mapper and add classes
      AnnotationsDescriptorObjectMapper objectMapper = new AnnotationsDescriptorObjectMapper();
      mapper.addClass(Person.class);
      mapper.addClass(Address.class);
      
      // create MongoDao
      MongoDao dao = new MongoDaoImpl(mongo.getDB("dbName"), objectMapper);

      項目主頁:http://www.baiduhome.net/lib/view/home/1372746902675

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!