基于JavaAPI操作MongoDB(二)

1.前言

在之前的文章中博主介绍了使用Java操作MongoDB的前期准备 

传送门:使用Java操作MongoDB的环境搭建(即前期准备工作)-CSDN博客

在将Maven和JDK添加进IDEA工具中和导入相关的依赖包

传送门:基于JavaAPI操作MongoDB(一)-CSDN博客 

接下来博主将带着大家一起继续学习关于mongodb的相关知识

2.创建资源文件,指定MongoDB的相关参数

在项目的目录、scr/main/resources下创建一个名为mongodb.properties文件

该文件用于存储连接MongoDB数据库所需要的参数,因此我们需要将参数输入(如下图所示)

 注意:由于资源文件中配置了主机IP和端口号,因此我们需要在启动MongoDB服务的配置文件mongod.conf中,指定主机IP和端口号,配置文件mongod.conf

小贴士:在完成monod.conf文件的配置后需要重启MongoDB服务使配置生效,并关闭Linux系统的防火墙,关闭防火墙的命令为systemctl stop firewalld.service(此命令为临时关闭,系统重启后会恢复)

附赠


​​​​​​关闭mongDB服务

 3.创建Java工具类,配置MongoDB的相关参数

在项目目录/src/main/java下创建一个名为com.itcast.mongodb包。并在该包下创建MongoUtils.java文件,该文件用于编写Java连接MongoDB数据库的工具类,具体代码如下

(为了便于大家复制,博主就不用图片展示了)

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 InputStream stream = null;
    private static String host;
    private static int port;  
    private static String dbname;(该部分是声明连接MongoDB所需要的成员对象和成员变量)

    //1.创建一个静态代码块,用于初始化工具类中的静态变量,该静态代码块在类加载过程中的初始化阶段    执行,并且只执行一次
    static {
        //判断properties集合对象是否为空,为空则创建一个集合对象
        if (properties == null) {
            properties = new Properties();
        }
        /*
        由于我们调用load方法,而load方法底层抛出了一个IOException异常,此异常为编译时期异常
        所以,我们调用load方法时,需要处理底层抛过来的异常
         */
        try {
            //创建一个InputStream字节输入流对象,用于接收mongodb.properties配置文件中的配置参数
            stream = MongoUtils.class.getClassLoader().getResourceAsStream
                    ("mongodb.properties");
            //properties集合对象调用load()方法,将配置参数加载到properties集合中
            properties.load(stream);
        } catch (IOException e) {
            e.printStackTrace();
        }
        //根据mongodb.properties配置文件中的key,获取value值
        host = properties.getProperty("host");
        port = Integer.parseInt(properties.getProperty("port"));
        dbname = properties.getProperty("dbname");
    }

    //2.定义一个getMongoClient()方法,用于获取MongoDB数据库的连接对象
    public static MongoClient getMongoClient(){
        //由于MongoClients对象调用create()方法,该方法的参数是一个字符串,因此这里将host        和port拼接成字符串,再作为参数传入到该方法中
        String addr = "mongodb://"+host+":"+port;
        MongoClient mongoClient = MongoClients.create(addr);
        return mongoClient;
    }
    //3.定义一个getMongoConn()方法,用于实现连接指定的MongoDB数据库
    public static MongoDatabase getMongoConn() {
        MongoClient mongoClient = getMongoClient();
        mongoDatabase = mongoClient.getDatabase(dbname);
        return mongoDatabase;
    }
}

4.最后一些话给读者

都看到这里了,麻烦给博主点点关注和赞吧,博主是一个新人博主,也是在朋友的鼓励下开始了自己的博客生涯,以后会补齐关于MongoDB相关的基础知识,会给大家分享一些博主在实操学习中一些错误以及解决的方法,希望可以在创作的途中跟大家一起共同进步。

求个点赞吧,你的点赞就是对CX小汪最大的支持博客中有任何不足欢迎各位大佬的批评!!!

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CX小汪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值