这篇“在开发中如何实现MongoDB与Java的集成”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“在开发中如何实现MongoDB与Java的集成”文章吧。
1.什么是MongoDB?
MongoDB 是一种非常流行的 NoSQL 开源数据库。它适用于集合而不是表和文档而不是行和列,可提供高性能、高可用性和轻松的可扩展性。
示例文件:
{
"_id" : ObjectId("5b0d226b31a5f6595a7034de"),
"firstName" : "Dharam",
"lastName" : "Rajput"
}
MongoDB 3.6
MongoDB-Java-Driver 2.10.1
JDK 1.8
Maven 3.0.3
<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.10.1</version>
</dependency>
</dependencies>
现在让我们开始用 Java 实现 Mongo 查询,我们将从 CRUD 操作开始。
如果我们使用低于2.10.0的MongoDB版本,那么我们使用MongoDB服务器,但我们使用的是更高版本,所以我们将使用MongoClient与MongoDB建立连接。
MongoClient mongo = new MongoClient( "localhost" , 27017 );
// If we use older version than
Mongo mongo = new Mongo("localhost", 27017);
现在连接数据库。如果您的数据库不存在,那么 Mongo 将创建一个新数据库。
DB database = mongoClient.getDB("testdb");
如果我们在安全模式下使用 Mongo,则需要身份验证。
MongoClient mongoClient = new MongoClient();
DB database = mongoClient.getDB("testdb"); // testdb is db name
boolean auth = database.authenticate("username", "password".toCharArray());
使用以下代码检查哪个数据库已经存在。
mongoClient.getDatabaseNames().forEach(System.out::println);
现在,创建一个相当于RDBMS 中的表的集合。我们可以将集合设为:
database.createCollection("users", null);
获取并打印所选数据库的所有现有集合。
database.getCollectionNames().forEach(System.out::println);
现在我们将在集合(表)中保存一个文档(数据)。
DBCollection table = db.getCollection("users");
BasicDBObject document = new BasicDBObject();
document.put("firstName", "Dharam");
document.put("lastName", "Rajput");
table.insert(document);
现在已经在数据库中插入了一个文档。
{
"_id" : ObjectId("5b0d226b31a5f6595a7034de"),
"firstName" : "Dharam",
"lastName" : "Rajput"
}
假设我们有以下文档:
{
"_id" : ObjectId("5b0d226b31a5f6595a7034de"),
"firstName" : "Dharam",
"lastName" : "Rajput"
}
我们想更改此文档的名字。
首先搜索 name="Dharam" 的文档并使用新值 "Dharmendra" 更新它
BasicDBObject query = new BasicDBObject();
query.put("firstName", "Dharam");
BasicDBObject newDocument = new BasicDBObject();
newDocument.put("firstName", "Dharmendra");
BasicDBObject updateObj = new BasicDBObject();
updateObj.put("$set", newDocument);
在用户集合中搜索“firstName = Dharmendra”的文档
DBCollection db= db.getCollection("user");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put("firstName", "Dharmendra");
DBCursor cursor = db.find(searchQuery);
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
删除“firstName = Dharmendra”的文档。
DBCollection db= db.getCollection("user");
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put("name", "mkyong");
db.remove(searchQuery);
本教程是 MongoDB 与 Java 的快速介绍。
现在在这里找到 MongoDB 与 Java 集成的完整代码。
package com.demo.mongodb;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.MongoClient;
public class TestDB {
public static void main(String[] args) {
try {
/**** Connect to MongoDB ****/
// Since 2.10.0, uses MongoClient
MongoClient mongoClient = new MongoClient("localhost", 27017);
/**** Get database ****/
// if database doesn't exists, MongoDB will create it for you
DB db = mongoClient.getDB("testdb");
mongoClient.getDatabaseNames().forEach(System.out::println);
/**** Get collection / table from 'testdb' ****/
// if collection doesn't exists, MongoDB will create it for you
DBCollection collection = db.getCollection("users");
/**** Insert ****/
// create a document to store key and value
BasicDBObject document = new BasicDBObject();
document.put("firstName", "Dharam");
document.put("lastName", "Rajput");
collection.insert(document);
/**** Find and display ****/
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put("firstName", "Dharam");
DBCursor dbCursor = collection.find(searchQuery);
while (dbCursor.hasNext()) {
System.out.println(dbCursor.next());
}
/**** Update ****/
// search document where name="Dharam" and update it with new values "Dharmendra"
BasicDBObject dbQuery = new BasicDBObject();
dbQuery.put("firstName", "Dharam");
BasicDBObject newDocument = new BasicDBObject();
newDocument.put("firstName", "Dharmendra");
BasicDBObject updateObj = new BasicDBObject();
updateObj.put("$set", newDocument);
collection.update(dbQuery, updateObj);
/**** Find and display ****/
BasicDBObject findQuery
= new BasicDBObject().append("firstName", "Dharmendra");
DBCursor findCursor = collection.find(findQuery);
while (findCursor.hasNext()) {
System.out.println(findCursor.next());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
以上就是关于“在开发中如何实现MongoDB与Java的集成”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。