mongodb与java整合
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整合的更多相关文章
- MongoDB和Java(6):Spring Data整合MongoDB副本集、分片集群
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...
- MongoDB和Java(5):Spring Data整合MongoDB(注解配置)
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...
- MongoDB和Java(4):Spring Data整合MongoDB(XML配置)
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...
- MongoDB 学习(三)MongoDB 和 Spring 整合(Maven)
一.MongoDB 和 Spring 整合(Maven) 1.相关 jar 包准备 2.用 Maven 创建项目,pom.xml 文件 <project xmlns="http://m ...
- MongoDB和Java(7):MongoDB用户管理
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...
- MongoDB和Java(3):Java操作MongoB
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...
- MongoDB和Java(2):普通用户启动mongod进程
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...
- MongoDB和Java(1):Linux下的MongoDB安装
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...
- [MongoDB]MongoDB与JAVA结合使用CRUD
汇总: 1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库的比较4. [MongoDB]MongoDB ...
随机推荐
- Android学习笔记(2):build.grandle的常用设置
1 > java开发中有两个大名鼎鼎的项目构建ANT.Maven. 2 > Google推荐使用的Android Studio是采用Gradle来构建项目的.Gradle是一个非常先进的项 ...
- [转] The QCOW2 Image Format
The QCOW2 Image Format https://people.gnome.org/~markmc/qcow-image-format.html The QCOW image format ...
- 利用python完成大学刷课(从0到完成的思路)
i春秋作家:tllm 原文来自:利用python完成大学刷课(从0到完成的思路) 最近刚刚开学,学校总是有很多让人无语的课要修,还不能不修.然后我想写一个自动修课的脚本.大佬们不要笑我 是边面向百度学 ...
- 1分钟快速制作漂亮的H5本地记事本
大家好,以前给大家分享过一个五步骤制作精美的HTML5时钟的文章,点击回顾<五步教你制作漂亮精致的HTML时钟>,还有<一分钟教你如何实现唯美的文字描边>:今天给大家分享一个用 ...
- HashMap是如何实现快速存取的
一.存储实现:put(key,vlaue) 首先我们先看源码: // 将“key-value”添加到HashMap中 public V put(K key, V value) { // 若 ...
- Visual Studio 开发(二):VS 2017配置FFmpeg开发环境
在上篇文章Visual Studio 开发(一):安装配置Visual Studio Code 中,我们讲了一下如何配置VS CODE,来编写和调试C的代码.如果你已经使用VS Code回顾和复习好C ...
- 第88节:Java中的Ajax和ASP.NET和TCP/IP 教程和JSON
第88节:Java中的Ajax和Jquery ajax是什么?有什么用?原理,怎么用? ajax是asynchronous javascript and xml(异步javascript和xml),是 ...
- Kali学习笔记24:Nikto、Skipfish
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 实验环境: Kali机器IP:192.168.163. ...
- [Postman]捕获HTTP请求(14)
如果您使用API构建客户端应用程序 - 移动应用程序,网站或桌面应用程序 - 您可能希望查看应用程序中发送和接收的实际HTTP请求流量.在某些情况下,您可能会发现甚至没有记录的API.Postma ...
- Cloud-Platform部署学习
1. Cloud-Platform部署学习 1.1. 介绍 Cloud-Platform是国内首个基于Spring Cloud微服务化开发平台,核心技术采用Spring Boot2以及Spring C ...