准备驱动包
下载地址:http://central.maven.org/maven2/org/mongodb/mongo-java-driver
连接数据库
//1、连接到mongodb指定的服务器上,这个类的构造函数有很多种,以应对不同情况下的连接
MongoClient client = new MongoClient("127.0.0.1", 27017);
//2、取得要连接的数据库
MongoDatabase dataBase = client.getDatabase("mytest");
关于连接mogondb的各种情况这里不做详细研究。
实现增删改查
这里直接贴代码不做仔细说明,详细可参考:http://www.runoob.com/mongodb/mongodb-java.html
package cn.zxy.mongodb;
import java.util.ArrayList;
import java.util.List;
import org.bson.Document;
import org.bson.conversions.Bson;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
public final class MongoDBUtil {
private MongoDBUtil(){};
private static final MongoDatabase database;
static{
MongoClient client = new MongoClient("127.0.0.1", 27017);
database = client.getDatabase("mytest");
}
/**
* 插入数据
* @param collectionName 集合名
* @param document 要插入的文档
*/
public static void insert(String collectionName,Document document){
MongoCollection<Document> collection = database.getCollection(collectionName);
collection.insertOne(document);
}
//取得某个集合的所有数据
public static List<Document> getAllDocument(String collectionName){
MongoCollection<Document> docList = database.getCollection(collectionName);
FindIterable<Document> findIterable = docList.find();
MongoCursor<Document> docIt = findIterable.iterator();
List<Document> result = new ArrayList<Document>();
while(docIt.hasNext()){
result.add(docIt.next());
}
return result;
}
/**
* 更新数据
* @param collectionName集合名
* @param filter:指定更新哪条数据
* @param update:指定更新的内容
* 例如:collection.updateMany(Filters.eq("name", "apple"), new Document("$set",new Document("name","orange")));
* 更新name为苹果的数据更新为桔子
*/
public static void update(String collectionName,Bson filter, Bson update){
MongoCollection<Document> collection = database.getCollection(collectionName);
collection.updateMany(filter,update);
}
public static void delete(String collectionName,Bson filter){
MongoCollection<Document> collection = database.getCollection(collectionName);
collection.deleteMany(filter);
}
}