(十三)Spring Boot 集成 MongoDB 数据库 —— 《一步一步学 Spring Boot 2》读书笔记

本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》
如果喜欢,可直接购买书籍。如有侵权,请联系删除

一、MongoDB

1.介绍

MongoDB 是一个高性能、开源、无模式的文档型数据库,是一种 NoSQL 数据库, 主要功能特性有 : 面向集合存储、易存储对象类型的数据、支持动态查询、文件存储格式为 BSON (一种 JSON 的扩展) 、支持复制和故障恢复等 。

MongoDB 非常适合实时地插入、更新与查询 ,并具备实时数据存储所需的复制及高度伸缩性。MongoDB 的提供了一个面向文档存储,操作起来比较简单和容易。

2.安装

官方链接 进行下载,双击进行安装。

在 Install MongoDB Compass 这一步一定要把 √ 去掉,否则安装需要花费很久很久。
在这里插入图片描述

将安装目录下的 bin 配置到环境变量中。
在这里插入图片描述
在 Choose Setup Type 这一步,我选择了 Custom 进行,并指定自定义路径进行安装。如果没有选择的话,默认是在 C 盘下。

在任务管理器里面开启或关闭 MongoDB。
在这里插入图片描述

3.客户端介绍

连接 MongoDB 数据库的方式很 多 , 除了可以使用最原始的命令窗口外,还可以使用功能强大的 NoSQL Manager for MongoDB 客户端来连接 MongoDB 数据库。 NoSQL Manager for MongoDB 客户端安装 包 可 以到 官方连接 下载,下载完成之后 , 按照正常的程序一步一步安装即可 。

4.客户端使用

选中一个数据库 test。
在这里插入图片描述
点击上方的 shell 按钮,可以打开 shell 窗口。
在这里插入图片描述
在 shell 窗口输入语句,点击运行。
在这里插入图片描述

下面给出一些 MongoDB 的常用语法。

//显示所有的数据库
show dbs;
//切换到 test 数据库
use test;
//创建一个名为 user 的集合
db.user.insert({"id" : "l", "name" : "zx", "age" : "26"});
//查询 user 集合
db.user.find();
//将集合 user 名称为 zx 的记录更新为名称 zxy
db.user.update({"id" : "l"}, {"id" : "l", "name" : "zxy", "age" : "26"});
//查询 user 集合
db.user.find();
//显示所有集合
show collections;
//删除集合 user 名称为 zxy 的记录
db.user.remove({"name" : "zxy"});
//查询 user 集合
db.user.find();

二、集成 MongoDB

1.引入依赖

在 pom.xml 文件中引入依赖。

pom.xml:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>

2.添加配置

在 application.properties 文件中添加对应的配置。

application.properties:

###host 地址
spring.data.mongodb.host=localhost
###默认数据库端口 27017
spring.data.mongodb.port=27017
###连接数据库名 test
spring.data.mongodb.database=test

3.实体类

新建实体类 com.xiaoyue.demo.model.UserMongoDB。

UserMongoDB:

public class UserMongoDB implements Serializable {

    private String id;
    private String name;
    private String password;
	......
}

4.repository 层

新建 com.xiaoyue.demo.repository.UserMongoDBRepository。

UserMongoDBRepository:

public interface UserMongoDBRepository extends MongoRepository<UserMongoDB, String> {

}

MongoRepository 类在 spring-datamongodb 包下, 类似于 Spring Data JPA 。 追溯 MongoRepos itory 源代码
可以看出,MongoRepository 最顶级的父类就是 Repository 接口 。
继承 MongoRepository,就能继承 MongoRepositotγ 为我们提供的增删改查等方法。

5.service 层

标准的流程,新建接口 com.xiaoyue.demo.service.UserMongoDBService。

UserMongoDBService:

public interface UserMongoDBService {

    UserMongoDB save(UserMongoDB userMongoDB);
}

新建接口实现类 com.xiaoyue.demo.service.impl.UserMongoDBServiceImpl。

UserMongoDBServiceImpl:

@Service
public class UserMongoDBServiceImpl implements UserMongoDBService {

    @Resource
    private UserMongoDBRepository userMongoDBRepository;

    @Override
    public UserMongoDB save(UserMongoDB userMongoDB) {
        return userMongoDBRepository.save(userMongoDB);
    }
}

6.测试

在测试类 DemoApplicationTests 添加测试代码进行测试。

DemoApplicationTests:

    @Resource
    private UserMongoDBService userMongoDBService ;

    @Test
    public void testMongoDB() {
        UserMongoDB userMongoDB =new UserMongoDB( );
        userMongoDB.setId ("5");
        userMongoDB.setName("test");
        userMongoDB.setPassword ("123456") ;
        userMongoDBService.save(userMongoDB);
    }

刷新 MongoDB 客户端数据,进行查看。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值