日期:2014-05-16 浏览次数:20669 次
1、首先使用Eclipse的git插件把spring提供的示例下载下来
?
https://github.com/SpringSource/spring-data-document-examples.git
?
下载之后导入maven工程
?
?
2、首先看我们的domain定义,也就是entity。
org.springframework.data.mongodb.examples.hello.domain.Person
?
?
package org.springframework.data.mongodb.examples.hello.domain; import java.util.ArrayList; import java.util.List; import org.springframework.data.annotation.Id; import org.springframework.data.document.mongodb.mapping.Document; @Document public class Person { @Id private String id; private String name; private int age; private List<Account> accounts = new ArrayList<Account>(); public Person() { } public Person(String name, int age) { super(); this.name = name; this.age = age; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public List<Account> getAccounts() { return accounts; } public void addAccount(Account account) { this.accounts.add(account); } public void setAccounts(List<Account> accounts) { this.accounts = accounts; } public String toString() { return "Person [id=" + id + ", name=" + name + ", age=" + age + ", accounts=" + accounts + "]"; } }?
dao层的类org.springframework.data.mongodb.examples.hello.HelloMongo
?
?
package org.springframework.data.mongodb.examples.hello; import java.io.File; import java.io.IOException; import java.util.List; import java.util.Random; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoOperations; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; import org.springframework.data.mongodb.examples.hello.domain.Account; import org.springframework.data.mongodb.examples.hello.domain.Person; import org.springframework.stereotype.Repository; import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObjectBuilder; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.gridfs.GridFS; import com.mongodb.gridfs.GridFSDBFile; import com.mongodb.gridfs.GridFSInputFile; /** * * @author xiaofancn * * 参考 http://static.springsource.org/spring-data/data-document/docs/1.0.0.M2/reference/html/ * 参考 http://nosql.mypopescu.com/post/816470307/tutorial-mongodb-in-java * */ @Repository public class HelloMongo { @Autowired MongoOperations mongoOperations; public void gridFSInput(String inputFilepath) { DB db = mongoOperations.getCollection( mongoOperations.getCollectionName(Person.class)).getDB(); db.requestStart(); File inputFile = new File(inputFilepath); GridFSInputFile gfsInput; try { gfsInput = new GridFS(db, "fs") .createFile(inputFile); gfsInput.setFilename("qq123456789logo");// 保存到数据库的文件名为qq123456789logo gfsInput.save(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } db.requestDone(); } public void gridFSOutput(String outputFilepath) { DB db = mongoOperations.getCollection( mongoOperations.getCollectionName(Person.class)).getDB(); GridFSDBFile gfsFile = new GridFS(db, "fs").findOne("qq123456789logo");// 查找文件名qq123456789logo输出保存 try { gfsFile.writeTo(outputFilepath); } catch (IOException e) { // TODO Auto-generated catch b