java mongodb 增删改查_Java使用mongodb实现增删改查的一个小demo案例-Go语言中文社区...

1、MongoDB的3.x版本java驱动相对2.x做了全新的设计,类库和使用方法上有很大区别。例如用Document替换BasicDBObject本文整理了基于3.2版本的常用增删改查操作的使用方法。

1、先导入jar包 mongo-java-driver-3.2.2.jar 如下图所示:

java mongodb 增删改查_Java使用mongodb实现增删改查的一个小demo案例-Go语言中文社区..._第1张图片

2、测试类

import java.net.UnknownHostException;

/**

* 测试类 直接调用下列注释的方法 先一步一步看懂原理 就可以自己封装了 入门级的mongodb的demo

*

* @author Xuan

*

*/

public class Test {

public static void main(String[] args) throws UnknownHostException {

// 调用新增数据的方法参数1:数据库名称 2:集合名(可以理解为表名)3:键,4:值

// 如果没有数据库和列会自动帮你创建我里面封装好了,可以进去看原理

MongodbUtils.addmongodb("xuan", "testmongodb", "test", "测试的数据");

// 调用删除数据的方法

// MongodbUtils.deletemongodb("数据库名", "集合名(可理解为表名)", "要删除的key",

// "要删除的value");

// 修改的方法

// MongodbUtils.updatemongodb("数据库名", "集合名(可理解为表名)",new

// Document("旧数据key","旧数据value"),new Document("新数据key","新数据value"));

// 打印某个数据库中的某个集合的所有数据

MongodbUtils.printCollection("数据库名", "集合名(可理解为表名)");

}

}

3、封装了增删改查的mongodb工具类

import org.bson.Document;

import com.mongodb.Block;

import com.mongodb.MongoClient;

import com.mongodb.client.FindIterable;

import com.mongodb.client.MongoCollection;

import com.mongodb.client.MongoDatabase;

/**

* 工具类

* 封装了增删改查的方法

* @author Xuan

*

*/

public class MongodbUtils {

private static final String MONGO_HOST = "localhost";// 地址

private static final Integer MONGO_PORT = 27017;// 端口

private static final String MONGO_USERNAME = "";// 账号

private static final String MONGO_PASSWORD = "";// 密码

private static final String MONGO_DB_NAME = "xuan";// 要操作的数据库名

private static final String MONGO_COLLECTION_NAME = "xuantest";//要操作的集合

/**

* 增加mongodb数据

*

* @param databasename

* 数据库名

* @param collectionname

* 集合名

* @param key

* 键

* @param value值

*/

public static void addmongodb(String databasename, String collectionname,

String key, String value) {

// 1.获取Mongo客户端

MongoClient mongoClient = new MongoClient("localhost",

MongodbUtils.MONGO_PORT);

// 2.获取所有db名称并打印(mongodb未开启auth认证下可用)

MongoDatabase database = mongoClient.getDatabase(databasename);

// 3.如果是空则创建一个集合

if (database.getCollection(collectionname) == null) {

database.createCollection(collectionname);

}

// 4.得到我创建的集合

MongoCollection mc = database.getCollection(collectionname);

// 5.存入一个键值对

mc.insertOne(new Document(key, value));

// 6.关闭客户端

mongoClient.close();

}

/**

* 删除mongodb数据

*

* @param databasename

* 数据库名

* @param collectionname

* 集合名

* @param key

* 键

* @param value值

*/

public static void deletemongodb(String databasename,

String collectionname, String key, String value) {

// 1.获取Mongo客户端

MongoClient mongoClient = new MongoClient("localhost",

MongodbUtils.MONGO_PORT);

// 2.获取所有db名称并打印(mongodb未开启auth认证下可用)

MongoDatabase database = mongoClient.getDatabase(databasename);

// 3.如果是空则创建一个集合

if (database.getCollection(collectionname) == null) {

database.createCollection(collectionname);

}

// 4.得到我创建的集合

MongoCollection mc = database.getCollection(collectionname);

// 5.根据键值对删除数据

mc.findOneAndDelete(new Document(key, value));

// 6.关闭客户端

mongoClient.close();

}

/**

* 修改数据

*

* @param databasename

* 数据库名

* @param collectionname

* 集合名

* @param oldDocument

* 旧数据

* @param newDocument

* 新数据

*/

public static void updatemongodb(String databasename,

String collectionname, Document oldDocument, Document newDocument) {

// 1.获取Mongo客户端

MongoClient mongoClient = new MongoClient("localhost",

MongodbUtils.MONGO_PORT);

// 2.获取所有db名称并打印(mongodb未开启auth认证下可用)

MongoDatabase database = mongoClient.getDatabase(databasename);

// 3.如果是空则创建一个集合

if (database.getCollection(collectionname) == null) {

database.createCollection(collectionname);

}

// 4.得到我创建的集合

MongoCollection mc = database.getCollection(collectionname);

// 5.根据键值对删除数据

mc.replaceOne(oldDocument, newDocument);

// 6.关闭客户端

mongoClient.close();

}

/**

* 输出一个集合的所有数据

*

* @param databasename

* @param collectionname

*/

public static void printCollection(String databasename,

String collectionname) {

// 1.获取Mongo客户端

MongoClient mongoClient = new MongoClient("localhost",

MongodbUtils.MONGO_PORT);

// 2.获取所有db名称并打印(mongodb未开启auth认证下可用)

MongoDatabase database = mongoClient.getDatabase(databasename);

// 3.如果是空则创建一个集合

if (database.getCollection(collectionname) == null) {

database.createCollection(collectionname);

}

// 4.得到我创建的集合

MongoCollection mc = database.getCollection(collectionname);

FindIterable iterable = mc.find();

iterable.forEach(new Block() {

public void apply(final Document document) {

System.out.println(document);

}

});

// 6.关闭客户端

mongoClient.close();

}

}

4、遇到困难可以评论(有信必回)小轩微信17382121839。

你可能感兴趣的:(java,mongodb,增删改查)