MongoDB Driver
1 2 3 4 5 6
| <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.12.6</version> </dependency>
|
代码测试
例子请参考 mongo-java-driver 例子 (opens new window)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| private static final String MONGO_HOST = "xxx.xxx.xxx.xxx";
private static final Integer MONGO_PORT = 27017;
private static final String MONGO_DB = "testdb";
public static void main(String args[]) { try { MongoClient mongoClient = new MongoClient(MONGO_HOST, MONGO_PORT);
MongoDatabase mongoDatabase = mongoClient.getDatabase(MONGO_DB); System.out.println("Connect to database successfully");
mongoDatabase.createCollection("test"); System.out.println("create collection");
MongoCollection<Document> collection = mongoDatabase.getCollection("test");
Document doc = new Document("name", "MongoDB") .append("type", "database") .append("count", 1) .append("info", new Document("x", 203).append("y", 102)); collection.insertOne(doc);
System.out.println(collection.countDocuments());
Document myDoc = collection.find().first(); System.out.println(myDoc.toJson());
MongoCursor<Document> cursor = collection.find().iterator(); try { while (cursor.hasNext()) { System.out.println(cursor.next().toJson()); } } finally { cursor.close(); }
} catch (Exception e) { System.err.println(e.getClass().getName() + ": " + e.getMessage()); } }
|
著作权归https://pdai.tech所有。 链接:https://www.pdai.tech/md/db/nosql-mongo/mongo-x-usage-5.html
Spring Data 与 MongoDB
在初学使用者而言,常会分不清Spring-data-jpa, spring-data-mongo, springboot-data-mongo-starter以及mongo-driver之间的关联关系, 本节将带你理解它们之间的关系。
Spring Data的层次结构
首先让我们回顾下Spring runtime体系:
Spring Data是基于Spring runtime体系的:
下面这个图能够直观反映出它们之间的依赖关系,以及包中类之间的以来关系。@pdai
springboot-data-mongo层次结构
我们通过引入springboot-data-mongo-starter
包来看它们之间的层次结构:
mongodb+Java用法
所以通过上面分析我们可以得到基于mongodb+Java的常见用法:
使用方式及依赖包的引入
引入mongodb-driver
, 使用最原生的方式通过Java调用mongodb提供的Java driver;
引入
自行配置使用spring data 提供的对MongoDB的封装
- 使用
MongoTemplate
的方式
- 使用
MongoRespository
的方式
引入spring-data-mongo-starter
, 采用spring autoconfig机制自动装配,然后再使用MongoTemplate
或者MongoRespository
方式。
具体使用中文档的参考
spring-data/mongodb 官方的参考文档 (opens new window)
一些案例的参考
原生方式
spring-data-mongo