本文纯个人读书笔记,书籍《一步一步学 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 客户端数据,进行查看。