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 ...
随机推荐
- 搭建servlet+jsp环境
c3p0: <?xml version="1.0" encoding="UTF-8"?><c3p0-config> <named- ...
- jenkins 修改log路径
修改log路径 默认的路径是/var/log/jenkins/jenkins.log; 修改的话,同样是在/etc/init.d/jenkins中修改: JAVA_CMD="$JENKINS ...
- 包建强的培训课程(9):Android App性能优化
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- 包建强的培训课程(3):App竞品技术分析
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- nginx配置tp5的pathinfo模式并隐藏后台入口文件
server { listen 2223; server_name manage; access_log /data/wwwlogs/access_manage.log combined; root ...
- centos7进入单用户模式
当我们设置用户密码时,有可能会忘记,这时如何登陆呢,单用户模式就可以 首先我们进入开机界面,按e进行选择 会进入以下界面, 然后找到图中红线标注的该行,在行尾添加 init=/bin/sh 按住Ctr ...
- Python You-Get (送你一个免广告的视频和音乐网站 VIP)
You-get可以在仅仅提供URL情况下就可以实现下载视频.图片.音乐等信息.也可以通过播放器在线观看视频或听音乐,重要的是再也不用烦恼弹出的广告了,如果你想观看视频,但又不想观看广告,并且你还想把视 ...
- ionic cordova platform add android Cordova failed to install plugin Error: ENOENT: no such file or directory AndroidManifest.xml
问题描述: 在ionic 项目中出现编译android 的时候 出现 Cordova failed to install plugin Error: ENOENT: no such file or ...
- mysql 开发进阶篇系列 15 锁问题 (总结)
1. innodb 行锁是基于索引实现的,如果不通过索引访问数据,innodb会使用表锁. http://www.cnblogs.com/MrHSR/p/9376086.html 2. Innodb ...
- Android--解析XML之DOM
前言 前面已经介绍了Android平台下两种解析XML的方法,SAX和PULL,这两个均为事件驱动,以流的形式解析XML文档.现在介绍一种新的方式DOM方式解析XML. DOM是一种用于XML文档对象 ...