MongoDB java[CRUD](四)

来源:互联网 发布:java 关键字 编辑:程序博客网 时间:2024/05/17 00:13

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


  • 你需要将 mongo-java-driver-3.2.2.jar (找到合适的版本)包含在你的 classpath 中。。
  • 国内 mongodb-driver jar 下载地址:http://central.maven.org/maven2/org/mongodb/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// 默认构造方法,默认是连接本机,端口号,默认是27017mongo = 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() {// 获得集合usercoll = 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();}


测试结果: