MongoDB java[CRUD](四)

   首先必须下载mongo jar包,下载地址:http://mongodb.github.io/mongo-java-driver/, 请确保下载最新版本。



 Java代码:

package com.hlx.test;

import java.util.ArrayList;
import java.util.List;

import org.bson.Document;
import org.junit.Test;

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;
import com.sun.org.apache.bcel.internal.generic.NEW;

public class MongoDao {

	// 连接到 mongodb 服务
	MongoClient mongo = null;

	// 连接到数据库
	MongoDatabase base = null;

	// 获得集合-文档
	MongoCollection<Document> coll = null;

	/**
	 * mongo-java-driver-3.5.0.jar
	 */
	public MongoDao() {

		// 1.create object mongo object
		// 默认构造方法,默认是连接本机,端口号,默认是27017
		mongo = new MongoClient("localhost", 27017);

		
		// 其中参数是具体数据库的名称,若服务器中不存在,会自动创建
		// 连接到数据库
		base = mongo.getDatabase("mydb");
		

		// 集合创建成功
		base.createCollection("user");

		System.out.println("集合创建成功");

		System.out.println("Connect to database successfully!");
	}

	// 插入文档
	/**
	 * 1. 创建文档 org.bson.Document 参数为key-value的格式 2. 创建文档集合List<Document> 3.
	 * 将文档集合插入数据库集合中 mongoCollection.insertMany(List<Document>) 插入单个文档可以用
	 * mongoCollection.insertOne(Document)
	 * */
	public void save() {
		// 获得集合user
		coll = base.getCollection("user");
		System.out.println("集合 user 选择成功");

		// 文档对象
		Document document = new Document("title", "java OOP")
				.append("type", "java")
				.append("desc", "hello!")
				.append("count", 10);

		Document document1 = new Document("title", "小熊不刷牙!")
		        .append("type", "绘本")
				.append("desc", "刷牙")
				.append("count", 15);

		// 集合列表
		List<Document> lists = new ArrayList<Document>();
		// 添加文档
		lists.add(document);
		lists.add(document1);
		// 将文档添加user集合中
		coll.insertMany(lists);
		System.out.println("文档插入成功!");

		// 检索查看结果
		all(coll);
	}

	// 检索所有文档
	/**
	 * 1. 获取迭代器FindIterable<Document> 2. 获取游标MongoCursor<Document> 3.
	 * 通过游标遍历检索出的文档集合
	 * */
	public void all(MongoCollection<Document> coll) {
		// 获得迭代器
		FindIterable<Document> findIt = coll.find();
		// 获取游标
		MongoCursor<Document> cursor = findIt.iterator();
		// 遍历
		while (cursor.hasNext()) {
			System.out.println(cursor.next());
		}
	}

	/**
	 * 更新文档 将文档中count=10的文档修改为count=50
	 */
	public void update() {
		coll = base.getCollection("user");
		System.out.println("集合 user 选择成功==>修改");

		// 更新,one:条件 two:修改数据
		coll.updateMany(Filters.eq("count", 10), new Document("$set",
				new Document("count", 50)));

		// 检索查看结果
		all(coll);

	}

	/**
	 * 删除数据
	 */
	public void del() {
		coll = base.getCollection("user");
		System.out.println("集合 user 选择成功---》删除");

		// 删除符合条件的第一个文档
		coll.deleteOne(Filters.eq("count", 50));

		// 删除所有符合条件的文档
		// coll.deleteMany(Filters.eq("count", 15));

		// 检索查看结果
		all(coll);
	}
}


测试:

public static void main(String[] args) {
		MongoDao dao= new MongoDao();
		
		dao.save();
		
		dao.update();
		
		dao.del();
		
		
	}


测试结果:






 




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值