2016-09-13 38 views
0

我在DAO的方法,它看起來像這樣如何在MongoDB和Java中返回對象的ArrayList?

ProductDao.java

public List<Document> getAllProducts() { 
    return mongoCollection.find().into(new ArrayList<Document>()); 
} 

我想什麼,而不是爲

//return a list of Product instead of Document 
public List<Product> getAllProducts() { 
    return mongoCollection.find().into(new ArrayList<Product>()); 
} 

的pom.xml

<dependency> 
    <groupId>org.mongodb</groupId> 
    <artifactId>mongo-java-driver</artifactId> 
    <version>3.3.0</version> 
</dependency> 

我該如何做到這一點?

回答

1

很少有java的庫,可以幫助你用它:

Morhpia - http://code.google.com/p/morphia/

春數據MongoDB的 - http://www.springsource.org/spring-data/mongodb

此外,你可以這樣做:

public List<Product> getAllProducts() { 
    DBCursor cur = mongoCollection.find(); 
    List<Product> products = new ArrayList<Product>(); 
    while(cur.hasNext()) { 
     products.add(cur.next()); 
    } 
    return products; 
} 
+0

渴望嘗試Morphia。看起來很有希望。它是MongoDB的子項目嗎? – user2325154

+0

是的,它是一個子項目,Morphia建立在最初的mongodb java驅動程序之上。它就像一個包裝它。 –

1

調查MongoJack

Mongojack將Java對象映射到MongoDB文檔。基於傑克遜JSON映射器,Mongojack可以讓您輕鬆處理您的mongo文檔作爲POJO

+0

看起來很有趣。感謝指針,Satish :) – user2325154