- 内容简介
- 前言
- 第 1 章 第一个 Spring Boot 项目
- 第 2 章 集成 MySQL 数据库
- 第 3 章 集成 Spring Data JPA
- 第 4 章 使用 Thymeleaf 模板引擎
- 第 5 章 Spring Boot 事务支持
- 第 6 章 使用过滤器和监听器
- 第 7 章 集成 Redis 缓存
- 第 8 章 集成 Log4j 日志
- 8.3 使用 Log4j 记录日志
- 第 9 章 Quartz 定时器和发送 Email
- 第 10 章 集成 MyBatis
- 第 11 章 异步消息与异步调用
- 第 12 章 全局异常处理与 Retry 重试
- 第 13 章 集成 MongoDB 数据库
- 第 14 章 集成 Spring Security
- 第 15 章 Spring Boot 应用监控
- 第 16 章 集成 Dubbo 和 Zookeeper
- 第 17 章 多环境配置与部署
- 第 18 章 Spring Boot 原理解析
- 参考文献
13.2 集成 MongoDB

13.2.1 引入依赖
在 Spring Boot 中集成 MongoDB,首先需要在 pom.xml 文件中引入所需的依赖,具体代码如下:
<dependency> >groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
13.2.2 添加 MongoDB 配置
在 pom 文件中引入 MongoDB 所需的依赖之后,我们需要在 application.properties 文件中添加如下配置信息:
###mongodb 配置 ###host 地址 spring.data.mongodb.host=localhost ### 默认数据库端口 27017 spring.data.mongodb.port=27017 ### 连接数据库名 test spring.data.mongodb.database=test
13.2.3 连接 MongoDB
首先,在 my-spring-boot 项目目录/src/main/java/com.example.demo.model 下新建用户附件类 AyUserAttachmentRel,具体代码如下:
用户附件类 AyUserAttachmentRel 开发完成之后,我们开发 AyUserAttachment-RelRepository 类,该类继承自 MongoRepository 类,MongoRepository 类在 spring-data-mongodb 包下,类似于第 3 章讲的 Spring Data JPA。追溯 MongoRepository 源代码可以看出,MongoRepository 最顶级的父类就是 Repository 接口。AyUserAttachment-RelRepository 类的具体代码如下:
AyUserAttachmentRelRepository 类很简单,只是纯粹的继承 MongoRepository,就能继承 MongoRepository 为我们提供的增删改查等方法。AyUserAttachment-RelRepository 开发完成之后,我们开发服务层接口 AyUserAttachmentRelService 类,在 AyUserAttachmentRelService 类中声明 save 方法,用来简单保存数据,具体代码如下:
接口 AyUserAttachmentRelService 类开发完成之后,接下来开发其对应的实现类 AyUserAttachmentRelServiceImpl,在 AyUserAttachmentRelServiceImpl 中实现接口层方法 save,注入 AyUserAttachmentRelRepository 类,并调用 AyUserAttachmentRelRepository 的 save 方法将数据保存到 MongoDB 数据库中。具体代码如下:
13.2.4 测试
所有代码开发完成之后,我们在测试类 MySpringBootApplicationTests 下添加测试方法 testMongoDB,在方法中创建 AyUserAttachmentRel 实体,并调用 ayUserAttachmentRelService 类中的 save 方法,将数据存储到 MongoDB 中,具体代码如下:
运行测试方法 testMongoDB,运行前记得启动 MongoDB 数据库,测试方法运行成功之后,我们可以在 MongoDB 数据库中查询到数据。具体查询的 SQL 语句如下:
> use test; > db.ayUserImageRel.find();
查询结果:
{ "_id" : "1", "_class" : "com.example.demo.model. AyUserImageRel", "userId" : "1", "fileName" : " 个人简历.doc" }
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论