文章目录

  • 前言
  • 一、创建mongodb.properties
  • 二、创建MongoUtils.java
  • 三、创建测试类testMongo.java

前言

本文介绍了怎样通过javaAPI连接操作MongoDB数据库。

一、创建mongodb.properties

首先要创建一个maven或者springboot项目可以用来做简单的连接测试。
1.导入必要的jar包依赖

<dependencies><!--单元测试依赖--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><!--java操作mongodb的驱动依赖--><dependency><groupId>org.mongodb</groupId><artifactId>mongo-java-driver</artifactId><version>3.12.1</version></dependency></dependencies>

2.在resource文件夹下建立一个mongdb.propeties文件,并且写上数据库相关配置。

文件上写入如下内容,这里的dbname根据自己有的来写。

host = localhost
port = 27017
dbname = recommender

二、创建MongoUtils.java

在src\main\java下面创建一个com.itcast.mongodb的文件夹。当然这里想怎么命名随意。然后编写MongoUtils.java代码

package com.itcast.mongodb;import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoDatabase;import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;public class MongoUtils {private static Properties properties;private static MongoDatabase mongoDatabase;private static String host;private static int port;private static InputStream stream = null ;private static String dbname;//创建一个静态代码块,用于初始化工具类中的静态变量,该静态代码块在类的加载过程中初始化阶段执行而且只执行一次static{if (properties == null){//判断properties对象是否为空,空则new一个出来properties = new Properties();}try {//创建字节流输入对象用来接受配置文件中的参数stream = MongoUtils.class.getClassLoader().getResourceAsStream("mongodb.properties");properties.load(stream);} catch (IOException e) {e.printStackTrace();}host = properties.getProperty("host");port = Integer.parseInt(properties.getProperty("port"));dbname = properties.getProperty("dbname");System.out.println(dbname);}//定义一个getMongoClient方法,用来获取数据库连接对象public static com.mongodb.client.MongoClient getMongoClient(){String addr = "mongodb://"+host+":"+port;return MongoClients.create(addr);}//定义一个getMongoConn方法,用来实现连接指定的mongo数据库public static MongoDatabase getMongoConn(){MongoClient mongoClient = getMongoClient();mongoDatabase = mongoClient.getDatabase(dbname);return mongoDatabase;}}

三、创建测试类testMongo.java

这里包含了java对mongo进行增删改查的操作。

import com.itcast.mongodb.MongoUtils;
import com.mongodb.client.*;
import com.mongodb.client.model.Filters;
import org.bson.Document;
import org.junit.Test;
import org.omg.CORBA.PUBLIC_MEMBER;public class TestMongo {private static MongoDatabase mongoDatabase;public static void main(String[] args) {mongoDatabase = MongoUtils.getMongoConn();}@Testpublic void getDBS(){                 //查看数据库MongoClient mongoClient = MongoUtils.getMongoClient();MongoIterable<String> databaseNames = mongoClient.listDatabaseNames();for (String databaseName : databaseNames){System.out.println(databaseName);}}@Testpublic void getCollections(){          //查看集合mongoDatabase = MongoUtils.getMongoConn();MongoIterable<String> listCollectionNames = mongoDatabase.listCollectionNames();for (String listCollectionName:listCollectionNames){System.out.println(listCollectionName.toString());}}@Testpublic void createCollections(){       //创建集合mongoDatabase = MongoUtils.getMongoConn();mongoDatabase.createCollection("itcast");}@Testpublic void dropCollections(){ //删除集合mongoDatabase = MongoUtils.getMongoConn();MongoCollection<Document> itcast = mongoDatabase.getCollection("itcast");itcast.drop();}@Testpublic void findDocument(){            //查看文档mongoDatabase = MongoUtils.getMongoConn();MongoCollection<Document> document = mongoDatabase.getCollection("Movie");FindIterable<Document> documents = document.find();for (Document document1 : documents){System.out.println(document1);}}@Testpublic void insertDocument(){           //插入文档mongoDatabase = MongoUtils.getMongoConn();MongoCollection<Document> itcast = mongoDatabase.getCollection("itcast");Document document = new Document("_id", "7").append("articledid", "1000007").append("content", "吃饭前好好洗手").append("userid", "01").append("phone", "133336997320");itcast.insertOne(document);}@Testpublic void updateDocument(){        //更新文档mongoDatabase = MongoUtils.getMongoConn();MongoCollection<Document> itcast = mongoDatabase.getCollection("itcast");Document document = new Document("content", "这是一封信");  //需要更新的内容itcast.updateOne(Filters.eq("content","这是一封充满感谢的信"),new Document("$set",document));//筛选出content为这是一封充满感谢的信的内容进行替换更新}public void deleteDocument(){   //删除文档mongoDatabase = MongoUtils.getMongoConn();MongoCollection<Document> itcast = mongoDatabase.getCollection("itcast");itcast.deleteOne(Filters.eq("_id","7"));}}

Java API操作MongoDB相关推荐

  1. MongoDB Java API操作很全的整理以及共享分片模式下的常见操作整理

    MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,一般生产上建议以共享分片的形式来部署. 但是MongoDB官方也提供了其它语言的客户端操作API.如下图所示: 提供了C.C++ ...

  2. java api 操作helm

    文章目录 java api 操作helm 一.helm架构在云管理平台开发中的不足 二.captain介绍 安装captain 卸载captain chart repo问题 三.命令行安装mongod ...

  3. 2021年大数据ZooKeeper(五):ZooKeeper Java API操作

    目录 ZooKeeper Java API操作 引入maven坐标 节点的操作 ZooKeeper Java API操作 这里操作Zookeeper的JavaAPI使用的是一套zookeeper客户端 ...

  4. Kafka系列三 java API操作

    使用java API操作kafka 1.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs ...

  5. Hadoop详解(四):HDFS shell操作和Java API操作

    1. HDFS环境准备 1.1 HDFS的格式化与启动 HDFS配置完之后就可以对其进行格式化操作.在NameNode所在机器上执行如下命令进行HDFS的格式化操作: hadoop namenode ...

  6. Windows下使用Java API操作HDFS的常用方法

    场景 Windows下配置Hadoop的Java开发环境以及用Java API操作HDFS: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/det ...

  7. Windows下配置Hadoop的Java开发环境以及用Java API操作HDFS

    场景 HDFS的访问方式之HDFS shell的常用命令: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119351218 在上 ...

  8. 使用 Java API 操作 HBase

    使用 Java API 操作 HBase 数据库,就类似HBase Shell,本质上一个是Java 代码,一个是Shell 命令.(hadoop 的文件系统莫不如此,可用Java API 的方式操作 ...

  9. Hbase java API操作(模板代码)

    Hbase java API操作 1 创建maven工程 导入jar包 <repositories><repository><id>cloudera</id& ...

最新文章

  1. Nature封面:脑机接口重大突破!意念手写字速度破纪录!
  2. Android 浏览器 —— 使用 WebView 实现文件下载
  3. mybatis学习2之ResultMap结果集映射
  4. 7.6~7.20集训总结(一)
  5. .Net Core上用于代替System.Drawing的类库
  6. python编程入门课_程序设计入门—Python
  7. (王道408考研操作系统)第四章文件管理-第一节5:文件存储空间管理
  8. Kaggle官网免费课程:从Python到机器学习,4小时学完一门,48小时掌握数据科学...
  9. activity 、window与view的关系 (上)
  10. navicate备份与还原数据库
  11. 取消计算机触摸板,笔记本电脑触摸板如何打开和关闭
  12. 763-GMAX3809 1.1” 900万分辨率全局快门CMOS图像传感器
  13. pdf转换成jpg python_怎样利用python将pdf转换成jpg格式
  14. Rxjava中的Hot Observable 和 Cold Observable
  15. 银行的SWIFT CODE 和 IBAN CODE 和 ABA CODE 分别是什么意思
  16. 5.larval 验证规则
  17. 关于dell戴尔笔记本磁盘空间莫名被占及删除System Volume Information
  18. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后
  19. iPad air 1 7.1.2升级IOS 11
  20. golang errors

热门文章

  1. SIMATIC WINCC授权使用方法
  2. rsa公钥密码和签名含C语言代码
  3. 【总结】C++ 高级数据结构 —— 并查集用法详解
  4. 中国电动汽车百人会论坛(2023)将于3月底在京举办
  5. linux课程设计QQ聊天带界面,仿QQ聊天系统课程设计解析.doc
  6. TikTok无人直播是新风口还是新韭菜?
  7. Element UI库的入门使用
  8. python读写excel表操作
  9. efcore 实体配置_C# 数据操作系列 - 7. EF Core 导航属性配置
  10. 类崩坏三NPR渲染分析(三)