本篇博客學習如何用Java操作MongoDB,希望能給各位博友帶來幫助。
Java操作MongoDB
mongodb-driver是mongo官方推出的java連接mongoDB的驅動包,相當於JDBC驅動。我們通過一個入門的案例來了解mongodb-driver的基本使用。
(1)創建工程 mongoDemo, 引入依賴
<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>3.8.2</version>
</dependency>
</dependencies>
(2)創建測試類
查詢,新增
package com.changan.test;
import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.util.HashMap;
import java.util.Map;
public class StudentTest {
MongoClient mongoClient = null;
MongoCollection<Document> student = null;
@Before
public void before(){
mongoClient = new MongoClient("192.168.159.135"); //創建連接
MongoDatabase studentdb = mongoClient.getDatabase("studentdb"); //打開數據庫
student = studentdb.getCollection("student"); //獲取集合
}
@Test
public void findAll(){
//查詢所以數據
FindIterable<Document> documents = student.find();
for (Document document :documents
) {
System.out.println("編號:"+document.getInteger("_id"));
System.out.println("姓名:"+document.getString("name"));
System.out.println("年齡:"+document.getInteger("age"));
System.out.println("性別:"+document.getString("sex"));
System.out.println("簡介:"+document.getString("introduce"));
}
}
@Test
public void findById(){
//根據Id查詢數據
Map<String,Object> map = new HashMap<String, Object>();
map.put("_id",1);
BasicDBObject bson = new BasicDBObject(map);
FindIterable<Document> documents = student.find(bson);
for (Document document :documents
) {
System.out.println("編號:"+document.getInteger("_id"));
System.out.println("姓名:"+document.getString("name"));
System.out.println("年齡:"+document.getInteger("age"));
System.out.println("性別:"+document.getString("sex"));
System.out.println("簡介:"+document.getString("introduce"));
}
}
@Test
public void findByCondition(){
//條件查詢數據
Map<String,Object> map = new HashMap<String, Object>();
map.put("age",new BasicDBObject("$gte",16));
BasicDBObject bson = new BasicDBObject(map);
FindIterable<Document> documents = student.find(bson);
for (Document document :documents
) {
System.out.println("編號:"+document.getInteger("_id"));
System.out.println("姓名:"+document.getString("name"));
System.out.println("年齡:"+document.getInteger("age"));
System.out.println("性別:"+document.getString("sex"));
System.out.println("簡介:"+document.getString("introduce"));
}
}
@Test
public void save(){
//新增數據
Map<String,Object> map = new HashMap<String, Object>();
map.put("_id",6);
map.put("name","主站強");
map.put("age",20);
map.put("sex","男");
map.put("introduce","帥");
Document document = new Document(map);
student.insertOne(document);
}
@After
public void after(){
if(mongoClient!=null){
mongoClient.close();
}
}
}