1、安装 MongoDB JDBC驱动程序
<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.0.4</version>
</dependency>
</dependencies>
2、连接数据库(工具类)
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
//mongodb 连接数据库工具类
public class MongoDBUtil {
//不通过认证获取连接数据库对象
public static MongoDatabase getConnect(){
//连接到 mongodb 服务
MongoClient mongoClient = new MongoClient("localhost", 27017);
//连接到数据库
MongoDatabase mongoDatabase = mongoClient.getDatabase("test");
//返回连接数据库对象
return mongoDatabase;
}
//需要密码认证方式连接
public static MongoDatabase getConnect2(){
List<ServerAddress> adds = new ArrayList<>();
//ServerAddress()两个参数分别为 服务器地址 和 端口
ServerAddress serverAddress = new ServerAddress("localhost", 27017);
adds.add(serverAddress);
List<MongoCredential> credentials = new ArrayList<>();
//MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码
MongoCredential mongoCredential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray());
credentials.add(mongoCredential);
//通过连接认证获取MongoDB连接
MongoClient mongoClient = new MongoClient(adds, credentials);
//连接到数据库
MongoDatabase mongoDatabase = mongoClient.getDatabase("test");
//返回连接数据库对象
return mongoDatabase;
}
}
3、对数据库进行CRUD
1)获取集合
MongoCollection<Document> collection = MongoDBUtil.getConnect().getCollection("user");
2)创建文档
//单个文档
Document document = new Document("name","张三")
.append("sex", "男")
.append("age", 18);
//文档集合
List<Document> list = new ArrayList<>();
for(int i = 1; i <= 3; i++) {
Document document = new Document("name", "张三")
.append("sex", "男")
.append("age", 18);
list.add(document);
}
//文档作为筛选条件 $gt
Document query = new Document();
query.put("number", new Document("$gt", 9));
//文档作为更新对象 set操作符
Document updateBson = new Document("$set", new Document("age", 25));
3)增
collection.insertOne(document);
collection.insertMany(list);
4)删
collection.deleteOne(document);
collection.deleteMany(document);
5)改
6)查
7)遍历查询结果
//查询所有文档
FindIterable<Document> allDocuments = userCollection.find();
//获取迭代器
MongoCursor<Document> iterator = allDocuments.iterator();
while (iterator.hasNext())
{
Document document = iterator.next();
System.out.println(document);
}
8)Bson 条件
//90<=a<=95
Bson delBson = Filters.and(Filters.gte("age", 90), Filters.lte("age", 95));
// a<10或a>80
Bson delBson2 = Filters.or(Filters.lt("age", 10), Filters.gt("age", 80));