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 ...
随机推荐
- 常用maven仓库
常用Maven仓库网址:http://mvnrepository.com/http://search.maven.org/http://repository.sonatype.org/content/ ...
- TeeChart For VCL/FMX V2017使用教程:第一章-准备开始
https://blog.csdn.net/vbfgm/article/details/79338775 第一章 准备开始-构建图表和填充数据序列 1.1 简介 通过代码或Dataset(数据集)访问 ...
- spring mvc jsonp调用示例
服务端代码:主要是返回的时候,返回值要用callback包装一下 /** * JSONP调用 * * @param request * @return */ @RequestMapping(" ...
- 彻底搞懂CSS文本、空白换行问题
首先,我们来整理一下与换行有关的3个CSS属性: word-break 该属性决定文本内容超出容器时,浏览器是否自动插入换行符. 属性值: normal:默认换行规则——英文以词为单位换行,连续字符不 ...
- vue单页应用前进刷新后退不刷新方案探讨
引言 前端webapp应用为了追求类似于native模式的细致体验,总是在不断的在向native的体验靠拢:比如本文即将要说到的功能,native由于是多页应用,新页面可以启用一个的新的webview ...
- 自学自用 = 网易云课堂(细说Linux-从入门到精通视频教程)
视频地址 https://study.163.com/course/courseMain.htm?courseId=983014 介绍 本篇博客,旨在记录视频学习的要点,所以格式随意,且没有文字描述, ...
- CSS3圆角详解第一辑
有很多人都知道圆角怎么写,加一个border-radius就可以,但是对于用圆角的一些细节却并不是很清楚,那么我们今天就来聊一聊这个圆角.CSS3是样式表(style sheet)语言的最新版本,它的 ...
- Java 利用枚举封装接口返回 JSON 结构
利用枚举封装返回码和返回信息 package com.template.project.util; public enum StatusCode { SUCCESS(20000, "成功&q ...
- SVG之Path
一.Path概述 1.控制命令 SVG提供了一些基础图形元素标签如<circle>.<rect>.<ellipse>.<line>.<polyli ...
- MySQL:数据库表的空间回收
1. 表数据的存储方式 表数据既可以存储在共享表空间,也可以时单独的文件.这个行为由参数 innodb_file_per_table 控制: 设置为 OFF 时,表示表数据存储在共享表空间: 设置为 ...