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());
时间: 2024-10-13 15:29:30

mongodb与java整合的相关文章

r与java整合(转)

http://jliblog.com/archives/10 R是统计计算的强大工具,而JAVA是做应用系统的主流语言,两者天然具有整合的需要.关于整合,一方面,R中可以创建JAVA对象调用JAVA方法,另一方面,JAVA中可以转换R的数据类型调用R的函数,互相取长补短.现在也有一个项目JGR,用JAVA做R的图形界面,可以实现高亮显示自动补全等,还能让JAVA和R互相调用. 关于R中调用JAVA,我想主要是为了利用其面向对象的特性,毕竟R语言近来很致力于向面向对象发展,有个很好的项目rJava

Ckeditor与Ckfinder(java)整合实现富媒体内容编辑(支持文件上传)

先来看一下最终的效果图 一.编辑器界面 二.上传图片界面 <!-------------------------------------------------------> 一.安装包下载,我使用的安装包是ckfinder_java_2.3.zip和ckeditor_3.6.3.zip,这两个文件可以分别到http://ckfinder.com/download和http://ckeditor.com/download下载,注意我使用的开发语言是java,所以下载cfinder的时候需要选择

mongoDB 用java连接

(1)下载连接java 的驱动包mongo-2.10.1.jar 下载网址 https://github.com/mongodb/mongo-java-driver/downloads (2)导入下载好的驱动包 (3)简单的使用demo import java.net.UnknownHostException; import com.mongodb.DB; import com.mongodb.Mongo; public class SimpleTest { /**   * @param arg

MongoDB之Java测试代码(DAO层)

MongoInit.java是数据库初始化及连接类 MongoUtils.java是对mongodb的各种操作方法 MongoInit.java package com.wlwcloud.datatest; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.net.UnknownHostException; import java.util.Properties

mongodb的java客户端的设计思想

链接见http://api.mongodb.org/java/current/?_ga=1.111551751.200271495.1409034486 整体结构分为 com.mongodb是核心类.其中包含接口.实现类.枚举类型.异常类.见http://api.mongodb.org/java/current/com/mongodb/package-frame.html 实现类的重要性比异常类要高.实现类的方法必须要尽量都要理解,可能一个功能就卡在某个实现类的某个方法,这个事致命的. 看看怎么

【MongoDB for Java】Java操作MongoDB

开发环境: System:Windows IDE:eclipse.MyEclipse 8 Database:mongoDB 开发依赖库: JavaEE5.mongo-2.5.3.jar.junit-4.8.2.jar 一.准备工作 1. 首先,下载mongoDB对Java支持的驱动包 驱动包下载地址:https://github.com/mongodb/mongo-java-driver/downloads mongoDB对Java的相关支持.技术:http://www.mongodb.org/

MongDB基础学习(七)—— 【MongoDB for Java】Java操作MongoDB

[MongoDB for Java]Java操作MongoDB 开发的产品为了融资,不停得改版,从第一版到现在最新版本,最后发现公司发展方向都变了,有最初电子商务改成VR内容提供者(没办法,要别人钱,就得按照别人的规划的战略走).本来本章节会放到后面再做讲解,无奈,部门需要做一次培训任务,我就想到拿Java操作MongoDB作为培训内容,开发环境和依赖jar如下: (1)开发环境: System:Windows IDE:eclipse Database:mongoDB2.6 Maven:apac

[MongoDB]MongoDB与JAVA结合使用CRUD

汇总: 1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库的比较4. [MongoDB]MongoDB与JAVA结合使用CRUD 使用起来也相当简单,由于MongoDB是类文件的数据库,所以其操作起来非常方便 首先下载相应的jar包,这里我直接使用Maven自动获取,以下为POM文件中的配置: <dependency> <groupId>junit</groupId> &l

MongoDB的Java驱动使用整理 (转)

MongoDB Java Driver 简单操作 一.Java驱动一致性 MongoDB的Java驱动是线程安全的,对于一般的应用,只要一个Mongo实例即可,Mongo有个内置的连接池(池大小默认为10个).  对于有大量写和读的环境中,为了确保在一个Session中使用同一个DB时,我们可以用以下方式保证一致性:  DB mdb = mongo.getDB('dbname');  mdb.requestStart(); // // 业务代码 // mdb.requestDone(); DB和