Java操作MongoDB
个人分类: Java技术 MongoDB 数据库
本篇博客学习如何用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();
}
}
}