广告
返回顶部
首页 > 资讯 > 精选 >如何使用Java操作MongoDB数据库
  • 189
分享到

如何使用Java操作MongoDB数据库

2023-06-14 19:06:22 189人浏览 八月长安
摘要

如何使用Java操作MongoDB数据库?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。常用的java框架有哪些1.springMVC,spring WEB mv

如何使用Java操作MongoDB数据库?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

常用的java框架有哪些

1.springMVCspring WEB mvc是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架。2.shiro,Apache Shiro是Java的一个安全框架。3.mybatis,MyBatis 是支持普通 sql查询,存储过程和高级映射的优秀持久层框架。4.dubbo,Dubbo是一个分布式服务框架。5.Maven,Maven是个项目管理和构建自动化工具。6.RabbitMQ,RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器。7.Ehcache,EhCache 是一个纯Java的进程内缓存框架。

环境准备

step1:创建工程 , 引入依赖

<dependencies><dependency><groupId>org.mongoDB</groupId><artifactId>monGodb‐driver</artifactId><version>3.6.3</version></dependency></dependencies>

step2:创建测试

import com.mongodb.*;import com.mongodb.client.*;import com.mongodb.client.model.Filters;import org.bson.Document;import org.bson.conversions.Bson;import org.junit.Test;import java.util.ArrayList;import java.util.List; public class MogoDBTest {     private static MongoClient mongoClient;     static {        System.out.println("===============MongoDBUtil初始化========================");        mongoClient = new MongoClient("127.0.0.1", 27017);        // 大多使用mongodb都在安全内网下,但如果将mongodb设为安全验证模式,就需要在客户端提供用户名和密码:        // boolean auth = db.authenticate(myUserName, myPassWord);        MongoClientOptions.Builder options = new MongoClientOptions.Builder();        options.cursorFinalizerEnabled(true);        // 自动重连true        // options.autoConnectRetry(true);        // the maximum auto connect retry time        // 连接池设置为300个连接,默认为100        // options.maxAutoConnectRetryTime(10);         options.connectionsPerHost(300);        // 连接超时,推荐>3000毫秒        options.connectTimeout(30000);        options.maxWaitTime(5000);         // 套接字超时时间,0无限制        options.SocketTimeout(0);        // 线程队列数,如果连接线程排满了队列就会抛出“Out of semaphores to get db”错误。        options.threadsAllowedToBlockForConnectionMultiplier(5000);        options.writeConcern(WriteConcern.SAFE);//        options.build();    }     // =================公用用方法=================        public static MongoDatabase getDB(String dbName) {        if (dbName != null && !"".equals(dbName)) {            MongoDatabase database = mongoClient.getDatabase(dbName);            return database;        }        return null;    }         public static  MongoCollection<Document> getCollection(String dbName, String collName) {        if (null == collName || "".equals(collName)) {            return null;        }        if (null == dbName || "".equals(dbName)) {            return null;        }        MongoCollection<Document> collection = mongoClient            .getDatabase(dbName)            .getCollection(collName);        return collection;    }}

1.数据库操作

1.1获取所有数据库

//获取所有数据库  @Test  public void getAllDBNames(){      MongoIterable<String> dbNames = mongoClient.listDatabaseNames();      for (String s : dbNames) {          System.out.println(s);      }  }

1.2获取指定库的所有集合

//获取指定库的所有集合名@Testpublic void getAllCollections(){    MongoIterable<String> colls = getDB("books").listCollectionNames();    for (String s : colls) {        System.out.println(s);    }}

1.3.删除数据库

//删除数据库  @Test  public void dropDB(){      //连接到数据库      MongoDatabase mongoDatabase =  getDB("test");      mongoDatabase.drop();  }

2.文档操作

2.1插入文档

插入单个文档

//插入一个文档@Testpublic void insertOneTest(){    //获取集合    MongoCollection<Document> collection = getCollection("books","book");    //要插入的数据    Document document = new Document("id",1)            .append("name", "哈姆雷特")            .append("price", 67);    //插入一个文档    collection.insertOne(document);    System.out.println(document.get("_id"));}

插入多个文档

//插入多个文档  @Test  public void insertManyTest(){      //获取集合      MongoCollection<Document> collection = getCollection("books","book");      //要插入的数据      List<Document> list = new ArrayList<>();      for(int i = 1; i <= 15; i++) {          Document document = new Document("id",i)                  .append("name", "book"+i)                  .append("price", 20+i);          list.add(document);      }      //插入多个文档      collection.insertMany(list);  }

2.2查询文档

2.1基本查询

查询集合所有文档

@Testpublic void findAllTest(){    //获取集合    MongoCollection<Document> collection = getCollection("books","book");    //查询集合的所有文档    FindIterable findIterable= collection.find();    MongoCursor cursor = findIterable.iterator();    while (cursor.hasNext()) {        System.out.println(cursor.next());    }}

条件查询

@Test  public void findConditionTest(){      //获取集合      MongoCollection<Document> collection = getCollection("books","book");      //方法1.构建BasicDBObject  查询条件 id大于2,小于5      BasicDBObject queryCondition=new BasicDBObject();      queryCondition.put("id", new BasicDBObject("$gt", 2));      queryCondition.put("id", new BasicDBObject("$lt", 5));      //查询集合的所有文  通过price升序排序      FindIterable findIterable= collection.find(queryCondition).sort(new BasicDBObject("price",1));       //方法2.通过过滤器Filters,Filters提供了一系列查询条件的静态方法,id大于2小于5,通过id升序排序查询      //Bson filter=Filters.and(Filters.gt("id", 2),Filters.lt("id", 5));      //FindIterable findIterable= collection.find(filter).sort(Sorts.orderBy(Sorts.ascending("id")));       //查询集合的所有文      MongoCursor cursor = findIterable.iterator();      while (cursor.hasNext()) {          System.out.println(cursor.next());      }  }

2.2 投影查询

@Testpublic void findAllTest3(){    //获取集合    MongoCollection<Document> collection = getCollection("books","book");  //查询id等于1,2,3,4的文档    Bson fileter=Filters.in("id",1,2,3,4);    //查询集合的所有文档    FindIterable findIterable= collection.find(fileter).projection(new BasicDBObject("id",1).append("name",1).append("_id",0));    MongoCursor cursor = findIterable.iterator();    while (cursor.hasNext()) {        System.out.println(cursor.next());    }}

2.3分页查询

1.统计查询

//集合的文档数统计    @Test    public void getCountTest() {        //获取集合        MongoCollection<Document> collection = getCollection("books","book");        //获取集合的文档数        Bson filter = Filters.gt("price", 30);        int count = (int)collection.count(filter);        System.out.println("价钱大于30的count==:"+count);    }

2分页列表查询

//分页查询@Testpublic void findByPageTest(){    //获取集合    MongoCollection<Document> collection = getCollection("books","book");    //分页查询  跳过0条,返回前10条    FindIterable findIterable= collection.find().skip(0).limit(10);    MongoCursor cursor = findIterable.iterator();    while (cursor.hasNext()) {        System.out.println(cursor.next());    }    System.out.println("----------取出查询到的第一个文档-----------------");    //取出查询到的第一个文档    Document document = (Document) findIterable.first();    //打印输出    System.out.println(document);}

2.4修改文档

//修改文档  @Test  public void updateTest(){      //获取集合      MongoCollection<Document> collection = getCollection("books","book");      //修改id=2的文档    通过过滤器Filters,Filters提供了一系列查询条件的静态方法      Bson filter = Filters.eq("id", 2);      //指定修改的更新文档      Document document = new Document("$set", new Document("price", 44));      //修改单个文档      collection.updateOne(filter, document);      //修改多个文档    // collection.updateMany(filter, document);      //修改全部文档      //collection.updateMany(new BasicDBObject(),document);  }

2.5 删除文档

//删除与筛选器匹配的单个文档  @Test  public void deleteOneTest(){      //获取集合      MongoCollection<Document> collection = getCollection("books","book");      //申明删除条件      Bson filter = Filters.eq("id",3);      //删除与筛选器匹配的单个文档      collection.deleteOne(filter);       //删除与筛选器匹配的所有文档     // collection.deleteMany(filter);       System.out.println("--------删除所有文档----------");      //删除所有文档     // collection.deleteMany(new Document());  }

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: 如何使用Java操作MongoDB数据库

本文链接: https://www.lsjlt.com/news/274620.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用Java操作MongoDB数据库
    如何使用Java操作MongoDB数据库?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。常用的java框架有哪些1.SpringMVC,Spring Web MV...
    99+
    2023-06-14
  • 如何用python 操作MongoDB数据库
    目录一、前言 二、操作 MongoDB 1、安装 pymongo 2、连接 MongoDB 3、选择数据库 4、选择集合 5、插入数据 6、查询 7、更新数据 8、删除 一...
    99+
    2022-11-12
  • Java中怎么操作MongoDB数据库
    今天就跟大家聊聊有关Java中怎么操作MongoDB数据库,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java与mongodb的连接1. 连单台m...
    99+
    2022-10-18
  • PHP中如何操作MongoDB 数据库
    这期内容当中小编将会给大家带来有关PHP中如何操作MongoDB 数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1,连接MongoDB数据库$conn =...
    99+
    2022-10-18
  • Java操作MongoDB数据库的示例代码
    目录环境准备 1.数据库操作 1.1获取所有数据库1.2获取指定库的所有集合名1.3.删除数据库2.文档操作 2.1插入文档 2.2查询文档 2.3分页查询 2.4修改文档2.5 删...
    99+
    2022-11-12
  • mongodb 数据库备份操作
    mongodb  数据库备份mongodump --host mongodb.example.net --port 27017备份路径选择mongodump --out /data/backup/...
    99+
    2022-10-18
  • mongoDB数据库基本操作
    mongoDB中聚集集合(collection/coll)相当于mysql中的表文档相当于mysql中的每一行数据常用命令 1.获得帮助命令db.help() db.表名.help() db.表名...
    99+
    2022-10-18
  • MongoDB(三):数据库操作、集合操作
    1. 数据库操作 看完前面的文章,大家应该把环境搭建好了,下面我们就开始学习MongoDB的一些基本操作了。 首先我们要了解的一些要点: MongoDB将数据存储为一个文档,数据结构由键值对(key=>value)组成 MongoDB文档...
    99+
    2017-03-01
    MongoDB(三):数据库操作 集合操作
  • NodeJs Express框架如何操作MongoDB数据库
    这篇文章主要介绍“NodeJs Express框架如何操作MongoDB数据库”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“NodeJs Express框架如何操作MongoDB...
    99+
    2023-07-04
  • Laravel 框架中使用 MongoDB 数据库的操作
    1、先确定好自己使用的哪个版本的 Laravel 框架,再决定 composer 哪一个的 MongoDB,我使用的是 Laravel 8 所以我 composer 了 3.8 的M...
    99+
    2022-11-13
  • 部分Mongodb数据如何操作导入mysql数据库
    下文主要给大家带来部分Mongodb数据如何操作导入mysql数据库,希望这些内容能够带给大家实际用处,这也是我编辑部分Mongodb数据如何操作导入mysql数据库这篇文章的主要目的。好了,废话不多说,大...
    99+
    2022-10-18
  • python 操作 mongodb 数据库详情
    目录一、安装二、连接数据库三、创建数据库四、所有数据库五、创建集合六、插入数据七、查询数据八、高级查询九、count统计十、修改数据十一、删除数据十二、数据排序一、安装 pip in...
    99+
    2022-11-10
  • Python怎么操作MongoDB数据库
    这篇文章主要介绍“Python怎么操作MongoDB数据库”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么操作MongoDB数据库”文章能帮助大家解决问题。一、连接器的安装和配置pym...
    99+
    2023-07-05
  • 怎么用python包操作mongodb数据库
    本文小编为大家详细介绍“怎么用python包操作mongodb数据库”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用python包操作mongodb数据库”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、安...
    99+
    2023-06-30
  • Java中如何使用MyBatis-Plus操作数据库
    这篇文章主要介绍Java中如何使用MyBatis-Plus操作数据库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MyBatis-PlusMyBatis-Plus (opens new window)(简称 MP)是...
    99+
    2023-06-29
  • Node.js中使用mongoose操作mongodb数据库的方法
    如何利用mongoose将数据写入mongodb数据库? 1.利用npm下载安装mongoose; npm install mongoose 2.建立js文件,引入mongoose var mon...
    99+
    2022-06-04
    操作 数据库 方法
  • 使用Node怎么对MongoDB数据库进行操作
    这篇文章给大家介绍使用Node怎么对MongoDB数据库进行操作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.使用 MongoDB模块 进行操作 首先在工作目录安装 mo...
    99+
    2022-10-18
  • MongoDB安装使用并实现Python操作数据库
    目录一、MongoDB介绍二、安装MongoDB三、使用MongoDB1、插入数据2、查找数据3、更新数据4、删除数据5、条件运算符6、MongoDB Limit与Skip方法7.M...
    99+
    2022-11-12
  • 怎么操作mongodb数据库文件
    要操作MongoDB数据库文件,可以按照以下步骤进行操作:1. 安装MongoDB:首先,需要安装MongoDB数据库。你可以从Mo...
    99+
    2023-08-31
    mongodb数据库
  • Python中怎么操作MongoDB数据库
    这期内容当中小编将会给大家带来有关Python中怎么操作MongoDB数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、连接服务器连接服务器需要提供一个地址和接口import pymong...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作