mongodb与java整合需要用到mongodb驱动,如果是maven环境,则添加如下倚赖:

<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.2.2</version>
</dependency>

如果是普通的项目,就下载对应的jar包添加到lib目录下面。

       ServerAddress serverAddress = new ServerAddress("localhost", 27017);
List<ServerAddress> addresses = new ArrayList<ServerAddress>();
addresses.add(serverAddress);
// mogodb开启的权限验证
// 类似 db.auth("userName", "pwd")
MongoCredential credential = MongoCredential.createCredential("root", "test", "000000".toCharArray());
List<MongoCredential> credentials = new ArrayList<MongoCredential>();
credentials.add(credential);
MongoClient client = new MongoClient(addresses, credentials);
// 链接到数据库
// use test
MongoDatabase mongoDatabase = client.getDatabase("test");
log.info("创建链接成功"); //获取集合
MongoCollection<Document> item = mongoDatabase.getCollection("item_info");
//像集合中插入元素
/**
* 1. 创建文档 org.bson.Document 参数为key-value的格式
* 2. 创建文档集合List<Document>
* 3. 将文档集合插入数据库集合中 mongoCollection.insertMany(List<Document>) 插入单个文档可以用 mongoCollection.insertOne(Document)
* */
List<Document> documents = new ArrayList<Document>();
Long startTimeStamp = System.currentTimeMillis();
for(int i = 0; i < 10; i++){
Document document = new Document("item_id", UUID.randomUUID().toString())
.append("item_name", "itemName_" + i)
.append("sku", "sku_" + i)
.append("price", Double.parseDouble("5") + i)
.append("desc", "desc_" + "item_name_" + i );
//documents.add(document);
item.insertOne(document); }
// item.insertMany(documents);
Long endTimeStamp = System.currentTimeMillis();
System.out.println("=============");
System.out.println("耗费时间:" + ((endTimeStamp - startTimeStamp)) / 1000.0);
System.out.println("============="); //查询
// Bson condition =
// 查询价格小于 200 的商品
FindIterable<Document> results = item.find(Filters.lt("price", 10));
MongoCursor<Document> iterator = results.iterator();
int i = 0;
if(null != results && iterator.hasNext()){ while(iterator.hasNext()){
System.out.println("===================");
Document result = iterator.next();
System.out.println(result.get("item_id"));
System.out.println(result.get("item_name"));
System.out.println(result.get("price"));
System.out.println("===================");
i++;
}
}
// 查总数
System.out.println(i++);
System.out.println("<--------------------------->\n");
//更新操作
// 更新操作是针对于collection上面的函数,
UpdateResult s = item.updateMany(Filters.lt("price", 10), new Document("$set",
new Document().
append("price", 11.5)
.append("item_name", "update_item_name"))); //查询
FindIterable<Document> updateItems = item.find(Filters.eq("item_name", "update_item_name"));
MongoCursor<Document> updateIterator = updateItems.iterator();
i = 0;
if(null != updateIterator){
while(updateIterator.hasNext()){
Document updateItem = updateIterator.next(); System.out.println("===================");
System.out.println(updateItem.get("item_id"));
System.out.println(updateItem.get("item_name"));
System.out.println(updateItem.get("price"));
System.out.println("===================");
i++;
}
} System.out.println(s.getModifiedCount());
// 删除
DeleteResult delete = item.deleteMany(Filters.eq("item_name", "update_item_name"));
System.out.println(delete.getDeletedCount());

mongodb与java整合的更多相关文章

  1. MongoDB和Java(6):Spring Data整合MongoDB副本集、分片集群

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

  2. MongoDB和Java(5):Spring Data整合MongoDB(注解配置)

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

  3. MongoDB和Java(4):Spring Data整合MongoDB(XML配置)

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

  4. MongoDB 学习(三)MongoDB 和 Spring 整合(Maven)

    一.MongoDB 和 Spring 整合(Maven) 1.相关 jar 包准备 2.用 Maven 创建项目,pom.xml 文件 <project xmlns="http://m ...

  5. MongoDB和Java(7):MongoDB用户管理

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

  6. MongoDB和Java(3):Java操作MongoB

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

  7. MongoDB和Java(2):普通用户启动mongod进程

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

  8. MongoDB和Java(1):Linux下的MongoDB安装

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

  9. [MongoDB]MongoDB与JAVA结合使用CRUD

    汇总: 1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库的比较4. [MongoDB]MongoDB ...

随机推荐

  1. PMP:9.项目资源管理

    项目资源管理包括识别.获取和管理所需资源以成功完成项目的各个过程,这些过程有助于确保项目经理和项目团队在正确的时间和地点使用正确的资源. 项目资源管理过程包括:   团队资源管理相对于实物资源管理,对 ...

  2. pycharm断点应用

    1.在需要打断点行处,单击鼠标左键打断点 2.调试程序开始,在第一个断点之前停止 3.跳过第一个断点进入到下一个断点

  3. 与其他相似软件对比,win10中个人助理conrtana具备哪些独特的功能

    目前,Cortana 可以回答各种口头问题,直接设置提醒,或者提供位置导航,并支持语音命令处理各项事务,而且随时间的推移学习更多内容,从而变得更加个性化和实用.简单而言,集成在 Edge 浏览器中的 ...

  4. [转]kaldi 神经网络

    转自:http://blog.csdn.net/xmdxcsj/article/details/54695506 overview type author CPU/GPU feature nnet1 ...

  5. HttpServlet的转发和重定向

    HttpServletResponse重定向 1.HTTP协议规定了一种重定向的机制,重定向的运作流程如下 用户在浏览器输入特定的URL,请求访问服务端的某个组件. 服务端的组件返回一个状态码为302 ...

  6. 使用clipBoard.js进行页面内容复制

    官方网址: https://clipboardjs.com/

  7. Connect By

    connect by 用于存在父子,祖孙,上下级等层级关系的数据表进行层级查询. 语法格式: { CONNECT BY [ NOCYCLE ] condition [AND condition]... ...

  8. Elastic Search 上市了,市值翻倍,这群人财务自由了!

    国庆长假,大部分人还深浸在风花雪月之中,而就在昨天(美国时间10月5号),我们 Java 程序员所熟知的大名鼎鼎的 Elastic Search 居然在美国纽约证券交易所上市了! 当说到搜索时,大部分 ...

  9. sleep( ) 和 wait( ) 的这 5 个区别,你知道几个?

    sleep(休眠) 和 wait(等待) 方法是 Java 多线程中常用的两个方法,它们有什么区别及一些该注意的地方有哪些呢?下面给大家一一分解. 区别1:使用限制 使用 sleep 方法可以让让当前 ...

  10. Docker面试题

    1.如何列出可运行的容器?docker ps 2.启动nginx容器(随机端口映射),并挂载本地文件目录到容器html的命令是?docker run -d -P --name nginx2 -v /h ...