依赖:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.8.0</version>
</dependency>
创建连接:
//连接数据库服务
MongoClient mongoClient = new MongoClient("localhost",27017);
//选择数据库连接
MongoDatabase mongoDatabase = mongoClient.getDatabase("runoob");
//连接集合
MongoCollection mongoCollection = mongoDatabase.getCollection("col");
基本操作代码合集:(测试类中编写),纯代码加注释,无结果图。按顺序执行即可
import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import org.bson.Document;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
public class MongoDB {
/**
* @Description TODO 获取集合所有文档内容,遍历输出
**/
public static void printTeables(MongoCollection mongoCollection){
FindIterable findIterable = mongoCollection.find();
for (Object o : findIterable) {
System.out.println(o);
}
}
/**
* @Description TODO 新增数据
**/
@Test
public void test2(){
//连接数据库服务
MongoClient mongoClient = new MongoClient("localhost",27017);
//选择数据库连接
MongoDatabase mongoDatabase = mongoClient.getDatabase("runoob");
//连接集合
MongoCollection mongoCollection = mongoDatabase.getCollection("col");
//创建文档
Document document = new Document();
document.append("name","一号");
document.append("age","10");
//插入一条数据
mongoCollection.insertOne(document);
//创建文档
Document document1 = new Document();
document1.append("name","二号");
document1.append("age","20");
Document document2 = new Document();
document2.append("name","三号");
document2.append("age","20");
List<Document> documentList = new ArrayList<>();
documentList.add(document1);
documentList.add(document2);
//插入多条数据
mongoCollection.insertMany(documentList);
//打印
printTeables(mongoCollection);
//关闭连接
mongoClient.close();
}
/**
* @Description TODO 修改数据
**/
@Test
public void test3(){
//连接数据库服务
MongoClient mongoClient = new MongoClient("localhost",27017);
//选择数据库连接
MongoDatabase mongoDatabase = mongoClient.getDatabase("runoob");
//连接集合
MongoCollection mongoCollection = mongoDatabase.getCollection("col");
//修改一条记录
mongoCollection.updateOne(Filters.eq("name","二号"),new Document("$set",new Document("name","四号")));
//修改多条符合要求记录
mongoCollection.updateMany(Filters.eq("age","20"),new Document("$set",new Document("age","30")));
printTeables(mongoCollection);
mongoClient.close();
}
/**
* @Description TODO 查询
**/
@Test
public void test4(){
//连接数据库服务
MongoClient mongoClient = new MongoClient("localhost",27017);
//选择数据库连接
MongoDatabase mongoDatabase = mongoClient.getDatabase("runoob");
//连接集合
MongoCollection mongoCollection = mongoDatabase.getCollection("col");
//单条件查询
FindIterable findIterable = mongoCollection.find(Filters.eq("age", "30"));
for (Object o:findIterable) {
System.out.println(o);
}
//多条件查询
FindIterable findIterable1 = mongoCollection.find(Filters.and(Filters.eq("name", "三号"), Filters.eq("age", "30")));
for (Object o:findIterable1) {
System.out.println(o);
}
mongoClient.close();
}
/**
* @Description TODO 删除一条数据
**/
@Test
public void test5(){
//连接数据库服务
MongoClient mongoClient = new MongoClient("localhost",27017);
//选择数据库连接
MongoDatabase mongoDatabase = mongoClient.getDatabase("runoob");
//连接集合
MongoCollection mongoCollection = mongoDatabase.getCollection("col");
//删除一条数据
mongoCollection.deleteOne(Filters.eq("name","一号"));
//删除多条符合条件数据
mongoCollection.deleteMany(Filters.eq("age","30"));
printTeables(mongoCollection);
mongoClient.close();
}
/**
* @Description //TODO 查询所有
**/
@Test
public void findAll(){
//连接数据库服务
MongoClient mongoClient = new MongoClient("localhost",27017);
//选择数据库连接
MongoDatabase mongoDatabase = mongoClient.getDatabase("runoob");
//连接集合
MongoCollection mongoCollection = mongoDatabase.getCollection("col");
printTeables(mongoCollection);
mongoClient.close();
}
/**
* @Description //TODO 按需查询-查询部分数据
**/
@Test
public void findOneOfDemoTest(){
//连接数据库服务
MongoClient mongoClient = new MongoClient("localhost",27017);
//选择数据库连接
MongoDatabase mongoDatabase = mongoClient.getDatabase("runoob");
//连接集合
MongoCollection mongoCollection = mongoDatabase.getCollection("col");
MongoCursor<Document> documentMongoCursor = mongoCollection.find().projection(new BasicDBObject("name",1).append("_id",0)).iterator();
for (MongoCursor<Document> it = documentMongoCursor; it.hasNext(); ) {
Object o = it.next();
System.out.println(o);
}
mongoClient.close();
}
}