使用Java代码操作MongoDB(CRUD)方法二
2018-03-01 20:00
609 查看
首先,创建好项目,然后导入依赖:
----------------------------------------------------------------------------------------------------------------------------------------
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</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){
----------------------------------------------------------------------------------------------------------------------------------------
<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);
4000 //打印输出一下我的数据库名 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); }
相关文章推荐
- 使用Java代码操作MongoDB(CRUD)方法一
- Java操作mongoDB2.6的常见API使用方法
- 分享java操作mongodb的crud代码
- 动态java代码的使用方法
- 使用Java操作文本文件的方法详解
- 使用Java操作文本文件的方法详解
- 使用java操作wavecom短信猫来发短信的方法
- 使用Java操作文本文件的方法详解
- Mongodb快速入门之使用Java操作Mongodb
- fleaphp crud操作之find函数的使用方法
- fleaphp crud操作之findByField函数的使用方法
- Mongodb快速入门之使用Java操作Mongodb
- 使用Java操作文本文件的方法详解
- 使用Java操作文本文件的方法详解
- 使用JAVA代码来模拟线性链表的相关操作(增加,删除,插入及查找等)
- MongoDB在java中的操作-添,删,查 基本数据 文件存储 可使用
- 找到java代码中没有被使用的公用方法
- Mongodb快速入门之使用Java操作Mongodb
- 这么详细的分类 Java源代码网站你见过没有? Java中的每一个方法,每一个操作,每一个函数,每一个类.每一个属性,每一个事件都有相应的范例代码
- 使用Java操作文本文件的方法详解