没什么好说的,和上一篇一样,只不过这一篇采用的语言环境是Java。
直接放代码吧,在代码中关于增删改查都做了详细的说明。
首先是一个MongoDB的帮助类,在这个类中定义了增删改查各种函数的实现,
然后是一个主函数入口,用来测试类的实现。
关于MongoDB Java 帮助类:
package com.blyang;
import java.util.ArrayList;
import java.util.List;
import org.bson.Document;
import org.bson.conversions.Bson;
import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
public class MongoDB {
/**
* 设置数据库连接地址
*/
private final String CONN_HOST = "127.0.0.1";
/**
* 设置数据库连接端口号
*/
private final int CONN_PORT = 27017;
/**
* MongoDB连接实例
*/
public MongoClient mongoClient = null;
/**
* MongoDB数据库实例
*/
public MongoDatabase mongoDatabase= null;
/**
* 构造方法
* 获取数据库实例
* @param DB_Name
*/
public MongoDB(String DB_Name){
this.mongoClient = new MongoClient(CONN_HOST, CONN_PORT);
this.mongoDatabase = this.mongoClient.getDatabase(DB_Name);
}
/**
* 创建数据库集合
* @param collName 数据库表名
*/
public boolean createCollection(String collName){
try
{
this.mongoDatabase.createCollection(collName);
}
catch(Exception e)
{
System.out.println(e.getMessage());
return false;
}
return true;
}
/**
* 获取数据库集合
* @param collName
* @return
*/
public MongoCollection getCollection(String collName){
return this.mongoDatabase.getCollection(collName);
}
/**
* 插入单个文档
* @param doc Bson文档
* @param collName 集合名称
*/
public void insert(Document doc, String collName){
MongoCollection coll = this.mongoDatabase.getCollection(collName);
coll.insertOne(doc);
}
/**
* 批量插入文档
* @param list List类型文档
* @param collName 集合名称
*/
public void insert(List list, String collName){
MongoCollection coll = this.mongoDatabase.getCollection(collName);
coll.insertMany(list);
}
/**
* 查找集合内所有Document
* @param collName
* @return
*/
public List findAll(String collName){
MongoCollection coll = this.mongoDatabase.getCollection(collName);
List result = new ArrayList();
FindIterable findIterable = coll.find();
MongoCursor mongoCursor = findIterable.iterator();
while(mongoCursor.hasNext()){
result.add(mongoCursor.next());
}
return result;
}
/**
* 指定条件查找
* @param query
* @param collName
* @return
*/
public List findAll(BasicDBObject query, String collName){
MongoCollection coll = this.mongoDatabase.getCollection(collName);
List result = new ArrayList();
FindIterable findIterable = coll.find(query);
MongoCursor mongoCursor = findIterable.iterator();
while(mongoCursor.hasNext()){
result.add(mongoCursor.next());
}
return result;
}
/**
* 指定条件查找指定字段
* @param query
* @param collName
* @return
*/
public List findAll(BasicDBObject query, BasicDBObject key, String collName){
MongoCollection coll = this.mongoDatabase.getCollection(collName);
List result = new ArrayList();
FindIterable findIterable = coll.find(query).projection(key);
MongoCursor mongoCursor = findIterable.iterator();
while(mongoCursor.hasNext()){
result.add(mongoCursor.next());
}
return result;
}
/**
* 查找一个
* @param query
* @param collName
* @return
*/
public Document findOne(BasicDBObject query,String collName){
MongoCollection coll = this.mongoDatabase.getCollection(collName);
Document result = new Document();
FindIterable findIterable = coll.find(query).limit(1);
result = findIterable.iterator().next();
return result;
}
/**
* 删除集合中的所有数据
* @param collName
*/
public void deleteAll(String collName){
MongoCollection coll = this.mongoDatabase.getCollection(collName);
BasicDBObject delDbo=new BasicDBObject();
delDbo.append("_id", -1);
coll.deleteMany(Filters.not(delDbo));
}
/**
* 删除指定的所有数据
* @param b
* @param collName
*/
public void deleteAll(Bson b, String collName){
MongoCollection coll = this.mongoDatabase.getCollection(collName);
coll.deleteMany(b);
}
/**
* 删除指定的一条数据
* @param b
* @param collName
*/
public void deleteOne(Bson b, String collName){
MongoCollection coll = this.mongoDatabase.getCollection(collName);
coll.deleteOne(b);
}
//collection.updateMany(Filters.eq("likes", 100), new Document("$set", new Document("likes",200)) );
/**
* 按查询条件批量修改
* @param b
* @param doc
* @param collName
*/
public void updateAll(Bson b, Document doc, String collName){
MongoCollection coll = this.mongoDatabase.getCollection(collName);
coll.updateMany(b, doc);
}
}
关于MongoDB Java测试实现:
package com.blyang;
public class Mongo {
public static void main(String[] args) {
String collName = "hello";
MongoDB mongo = new MongoDB("blyang");
//创建
if(mongo.createCollection(collName)){
System.out.println("hello create success");
}
else{
System.out.println("create fail");
}
// //单个插入
// Document docA = new Document();
// docA.append("key1", "val1");
// docA.append("key2", "val2");
// docA.append("key3", "val3");
// mongo.insert(docA, collName);
// //批量插入
// List list = new ArrayList();
// for(int i=0; i<10; i++){
// Document doc = new Document();
// doc.append("key1", "val" + i);
// doc.append("key2", "val" + i);
// doc.append("key3", "val" + i);
// list.add(doc);
// }
// mongo.insert(list, collName);
// //查询所有
// List findAll = mongo.findAll(collName);
// System.out.println(findAll.size());
// for(Document doc : findAll){
// System.out.println(doc.get("key3"));
// }
// //指定条件查找全部
// BasicDBObject query = new BasicDBObject();
// query.append("key3", "val99");
// List findAllB = mongo.findAll(query, collName);
// System.out.println(findAllB.size());
// for(Document doc : findAllB){
// System.out.println(doc.toString());
// }
// //指定条件查找全部,返回指定字段
// BasicDBObject query = new BasicDBObject();
// query.append("key3", "val99");
// BasicDBObject key = new BasicDBObject();
// key.append("key2",1);
// key.append("_id", 0);
// List findAllB = mongo.findAll(query,key, collName);
// System.out.println(findAllB.size());
// for(Document doc : findAllB){
// System.out.println(doc.toString());
// }
// //指定条件查找一个
// BasicDBObject queryOne = new BasicDBObject();
// queryOne.append("key3", "val99");
// Document docOne = mongo.findOne(queryOne, collName);
// System.out.println(docOne);
// //删除集合中的所有数据
// mongo.deleteAll(collName);
// //删除集合中指定的所有数据
// Bson b = Filters.eq("key1", "val1");
// mongo.deleteAll(b,collName);
// //删除指定的一个数据
// Bson b = Filters.eq("key1", "val1");
// mongo.deleteOne(b,collName);
// //按查询条件批量更新
// Bson b = Filters.eq("key1", "val1");
// Document doc = new Document();
// doc.append("key1", "val100");
// Document docT = new Document("$set", doc);
// mongo.updateAll(b, docT, collName);
}
}
好啦,暂时就这样啦,需要调用的时候直接拷贝帮助类进入,然后调用帮助类中的增删改查的方法即可。