pom.xml:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>3.10.0</version>
</dependency>
MongoUtils:
public class MongoUtils {
//不通过认证获取连接数据库对象
public static MongoDatabase getConnect(){
//连接到 mongodb 服务
MongoClient mongoClient = new MongoClient("192.168.227.6", 27017);
//连接到数据库
MongoDatabase mongoDatabase = mongoClient.getDatabase("test");
//返回连接数据库对象
return mongoDatabase;
}
//需要密码认证方式连接
public static MongoDatabase getConnect2(){
List<ServerAddress> adds = new ArrayList<ServerAddress>();
//ServerAddress()两个参数分别为 服务器地址 和 端口
ServerAddress serverAddress = new ServerAddress("192.168.227.6", 27017);
adds.add(serverAddress);
List<MongoCredential> credentials = new ArrayList<MongoCredential>();
//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;
}
}
MongoTest:
public class MongoTest {
/**
* 插入数据
*/
public static void insertData(){
MongoCollection<Document> collection =MongoUtils.getConnect().getCollection("user");
System.out.println("获取集合成功");
Document document = new Document("name", "张三").
append("sex", "男").
append("age", 18);
//插入一条数据
collection.insertOne(document);
//插入多条数据
// List<Document> documents = new ArrayList<Document>();
// documents.add(document);
// collection.insertMany(documents);
System.out.println("数据插入成功");
}
/**
* 删除数据
*/
public static void deleteData(){
//获取数据库连接对象
MongoDatabase mongoDatabase = MongoUtils.getConnect();
//获取集合
MongoCollection<Document> collection = mongoDatabase.getCollection("user");
//申明删除条件
Bson filter = Filters.eq("age",18);
//删除与筛选器匹配的单个文档
collection.deleteOne(filter);
//删除与筛选器匹配的所有文档
// collection.deleteMany(filter);
}
/**
* 修改数据
*/
public static void updateData(){
//获取数据库连接对象
MongoDatabase mongoDatabase = MongoUtils.getConnect();
//获取集合
MongoCollection<Document> collection = mongoDatabase.getCollection("user");
//修改过滤器
Bson filter = Filters.eq("name", "张三");
//指定修改的更新文档
Document document = new Document("$set", new Document("age", 100));
//修改单个文档
collection.updateOne(filter, document);
//修改多个文档
// collection.updateMany(filter, document);
}
/**
* 查询数据
*/
public static void findData(){
//获取数据库连接对象
MongoDatabase mongoDatabase = MongoUtils.getConnect();
//获取集合
MongoCollection<Document> collection = mongoDatabase.getCollection("user");
//指定查询过滤器
// Bson filter = Filters.eq("name", "张三");
//查找集合中的所有文档
FindIterable findIterable = collection.find();
MongoCursor cursor = findIterable.iterator();
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
}
public static void main(String[] args) {
findData();
}
}