当前位置:   article > 正文

MongoDB下载安装入门 + SpringBoot简单集成_mongodb安装步骤

mongodb安装步骤

MongoDB下载安装

下载安装

MongoDB官网地址:https://www.mongodb.com/
下载地址:https://www.mongodb.com/try/download/community

选择需要的版本进行安装。点击下载下来的msi文件,根据指引默认安装。

在这里插入图片描述

安装时需要勾选Install MongoDB Compass,安装图形化界面。

在这里插入图片描述

如果想要更便捷,可以使用docker下载安装。

# 拉取mongo镜像
docker pull mongo
# 运行mongo
docker run -d --name mongodb -p 27017:27017 mongo

# -d 参数表示后台运行容器。
# --name mongodb 给容器命名,便于后续管理。
# -p 27017:27017 将宿主机的27017端口映射到容器的27017端口,这样您就可以通过宿主机的27017端口访问MongoDB服务。
# mongo 是使用的镜像名称,如果您之前下载了特定版本,这里就写那个版本号

# 运行mongo,指定数据挂载位置(数据持久化)
docker run -d --name mongodb -p 27017:27017 -v mongodb_data:/data/db mongo

# 通过MongoDB客户端或命令行工具连接到它
mongo --host localhost --port 27017
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

连接图形化界面

MongoDB Compass

MongoBD有默认的图形化界面 MongoDB Compass,在上面的msi包安装过程中选择就会安装。
双击打开,如图:
在这里插入图片描述
默认有如下库:
在这里插入图片描述

创建一个测试表t_test

在这里插入图片描述
在这里插入图片描述

Navicat Premium

在这里插入图片描述

在Navicat中创建MongoDB连接

在这里插入图片描述

测试连接,成功。

在这里插入图片描述

新建查询,选择使用的database。

# 切换到admin库
use admin;

# 为当前库创建一个用户并指定角色
db.createUser({user:"admin",pwd:"admin",roles:["root"]});

# 查询当前数据库中所有的用户
show users;

# 查询当前数据库中所有的用户
db.system.users.find().pretty();

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

Spring Boot集成API操作

添加maven

在已有的Spring boot的项目中添加依赖

<!-- 具体版本根据当前系统需要的版本进行指定 -->

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-mongodb</artifactId>
  <version>2.6.14</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

配置数据库连接

在application.properties中配置

spring.data.mongodb.uri=mongodb://127.0.0.1:27017/local
  • 1

在application.yml中配置

# 不带密码的配置
spring:
  data:
    mongodb:
      uri: mongodb://localhost:27017/local

# 带密码的配置
spring:
  data:
    mongodb:
      uri: mongodb://user1:password1@localhost:27017/local?authSource=admin&authMechanism=SCRAM-SHA-1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

调用Mongo API

TestEntity 可以为任意实体类。

import com.ccnest.common.core.flow.entity.TestEntity;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

/**
 * @author Joi
 * @since 2024/5/29 16:59
 */
@Component
public class MongoTableTestMapper {

    /**
     * 注入模板
     */
    @Resource
    private MongoTemplate mongoTemplate;
    
    /**
     * 添加数据
     */
    public void addTestEntity (TestEntity entity) {
        mongoTemplate.save(entity, "t_test");
    }

    /**
     * 查询数据
     */
    public TestEntity getTestEntity (String id) {
        return mongoTemplate.findById(id, TestEntity.class, "t_test");
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

添加代码测试

import com.alibaba.fastjson.JSONObject;
import com.ccnest.custom.homestaycq.mapper.MongoTableTestMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import javax.annotation.Resource;

/**
 * @author Joi
 * @since 2024/3/22 17:50
 */
@SpringBootTest(classes = Application.class)
@RunWith(SpringRunner.class)
public class DemoTest {

    @Resource
    MongoTableTestMapper mongoTableTestMapper;

    @Test
    public void testMongoDBInsert() {
        String jsonStr = "{\n" +
                "        \"applicationDefineId\": \"dd3361ed199d4c678476cbf47fedb06e\",\n" +
                "        \"chainDefineId\": null,\n" +
                "        \"chainState\": 1,\n" +
                "        \"depth\": 1,\n" +
                "        \"flowNodeDefineId\": \"30f24a79364f92b38158ddaccdc832e6\",\n" +
                "        \"follow\": false,\n" +
                "        \"remark\": null,\n" +
                "        \"rootId\": \"d6301246ab3f94e96ac3b66ba1445022\",\n" +
                "        \"tag\": null,\n" +
                "        \"targetNodeDefineIds\": null,\n" +
                "        \"version\": 1\n" +
                "    }";
        TestEntity entity = JSONObject.parseObject(jsonStr, TestEntity.class);
        mongoTableTestMapper.addUser(entity);
    }

    @Test
    public void getFlowNodeInstance() {
        TestEntity entity = mongoTableTestMapper.getTestEntity("6656ff67c5cd105fc021970d");
        System.out.println(entity);
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46

获取的实体数据。

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/675529
推荐阅读
相关标签
  

闽ICP备14008679号