首先,创建好项目,然后导入依赖:
----------------------------------------------------------------------------------------------------------------------------------------
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency>
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.4.2</version> </dependency>
----------------------------------------------------------------------------------------------------------------------------------------
2.之后,再用cmd命令窗口打开MongoDB的服务,命令窗口就不用关闭了。
----------------------------------------------------------------------------------------------------------------------------------------
3.之后,新写一个类(MongoDb):
这里就是我的一些方法:
package com.MongoDb; 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 org.bson.BSON; import org.bson.Document; import org.bson.conversions.Bson; import javax.print.Doc; import java.util.ArrayList; import java.util.List; public class MongoDb { private static MongoCollection<Document> collection; /** * 链接数据库 * @param databaseName 数据库名称 * @param collectionName 集合名称 * @param hostName 主机名 * @param port 端口号 */ public static void connects(String databaseName,String collectionName,String hostName,int port){
//MongoDB连接
MongoClient client=new MongoClient(hostName,port);
//得到数据库
MongoDatabase db=client.getDatabase(databaseName);
//得到连接
collection=db.getCollection(collectionName);
//打印输出一下我的数据库名
System.out.println(collectionName);
}
/**
* 插入一个文档:
*/
public static void insert(Document document){
collection.insertOne(document);
}
/**
*
* 查询所有的文档
* 返回所有的文档集合
*/
public static List<Document> findAll(){
List<Document> results=new ArrayList<Document>();
FindIterable<Document> iterable=collection.find();
MongoCursor<Document> cursor=iterable.iterator();
while(cursor.hasNext()){
results.add(cursor.next());
}
return results;
}
/**
* 根据条件查询
*/
public static List<Document> findBy(Bson filter){
//Bson中就是条件参数
List<Document> results=new ArrayList<Document>();
FindIterable<Document> iterable=collection.find(filter);
MongoCursor<Document> cursor=iterable.iterator();
while(cursor.hasNext()){
results.add(cursor.next());
}
return results;
}
/**
* 根据条件删除一个文档:
*/
public static void delone(Bson filter){
collection.deleteOne(filter);
}
/**
* 根据条件删除多个文档:
*/
public static void delmany(Bson filter){
collection.deleteMany(filter);
}
/**
* 修改
*/
public static void update(Bson filter,Document update){
//第一个Bson是条件,然后后面的Document就是修改后的对象属性
collection.updateOne(filter,update);
}
}
----------------------------------------------------------------------------------------------------------------------------------------
4.然后,你可以写一个测试类去调用:
//连接: @Before public void before(){ //调用MongoDB中的connect方法: MongoDb.connects("user","tb_user","127.0.0.1",27017); } @Test public void trstadd(){ //创建文档 Document document=new Document(); //追加文档内容: document.append("name","even").append("age",19); //通过MongoDb类中的insert添加: MongoDb.insert(document); } @Test public void getall(){ List<Document> results=MongoDb.findAll(); for (Document result : results) { System.out.println(result.toJson()); } } //根据姓名查询: @Test public void testFindBy(){ Document filter=new Document(); filter.append("name","even"); List<Document> results=MongoDb.findBy(filter); for (Document document : results) { System.out.println(document.toJson()); } } //修改: @Test public void update(){ Document filter=new Document(); filter.append("name","小天使").append("age",17); //注意 update文档里面要包含“$set”字段: Document update=new Document(); update.append("$set",new Document("_id",5 )); MongoDb.update(filter,update); }
方法二&spm=1001.2101.3001.5002&articleId=79406613&d=1&t=3&u=c3c3775613314b6c88e436721ae403eb)
2万+

被折叠的 条评论
为什么被折叠?



