Spring Boot+MongoDB项目搭建
来源:互联网 发布:人工智能 伏羲觉醒 编辑:程序博客网 时间:2024/04/29 15:10
MongoDB是一个基于文档(Document)的存储型的数据库,使用面向对象的思想,每一条数据记录都是文档的对象。
- 1.Spring对MongoDB的支持
Spring对MongoDB的支持主要是通过Spring Data MongoDB来实现的,Spring Data MongoDB为我们提供了如下功能
(1).Object/Document映射注解支持
JPA提供了一套Object/Relation映射的注解(@Entity,@Id),而Spring Data MongoDB也提供了注解。
@Document:映射领域对象与MongoDB的一个文档
@Id:映射当前属性是ID
@DbRef:当前属性将参考其他的文档
@Field:为文档的属性定义名称
@Version:将当前属性作为版本
(2).MongoTemplate
像JdbcTemplate一样,Spring Data MongoDB也为我们提供了一个MongoTemplate,MongoTemplate为我们提供了数据访问的方法。我们还需要为MongoClient以及MongoDbFactory来配置数据库连接属性。
(3).Repository的支持
类似于Spring Data JPA,Spring Data MongoDB也提供了Repository的支持,使用方式和Spring Data JPA一致。如下:
Public interface PersonRepository extends MongoRepository
2.Spring Boot对MongoDB的支持
Spring Boot对MongoDB的支持位于org.springframework.boot.autoconfigure.mongo
主要配置数据库连接、MongoTemplate。我们可以使用以”spring.data.mongodb”为前缀的属性来配置MongoDB相关的信息。Spring Boot为我们提供了一些默认的属性,如默认MongoDB的端口为27017、默认服务器为localhost、默认数据库为test。
为我们开启了对Repository的支持,即自动为我们配置了@EnableMongoRepositories。
所以我们在Spring Boot下使用MongoDB只需引入spring-boot-starter-data-mongodb依赖即可,无须任何配置。
3.实战
(1).安装MongoDB
非Docker安装:若不使用Docker作为安装方式,则我们可以访问https://www.mongodb.org/downloads来下周适合自己当前操作系统的版本来安装MongoDB。
Docker安装:下载好MongoDB的Docker镜像,然后运行命令
docker run -d -p 27017:27017 mongo,运行好后,记得在VirtualBox做一次端口映射,如图:
MongoDB数据库管理软件可使用Robomongo,下载地址:http://robomongo.org,运行软件如下图:
(2).搭建Spring Boot项目
搭建Spring Boot项目,依赖为MongoDB(spring-boot-starter-data-mongodb)和Web(spring-boot-starter-web)。
项目结构与配置如下:
(3).领域模型
本例的领域模型是人(Person),包含他工作过的地点(Location)。这个虽然和关系型数据库的一对多类似,但是还是不一样,Location的数据只属于某个人。
实体Person源码:
省略了getter、setter方法
代码解释:
1.@Document注解映射领域模型和MongoDB的文档
2.@Id注解表明这个属性为文档的Id
3.@Field注解此属性在文档中的名称为locs,locations属性将以数组形式存在当前数据记录中
实体Locations源码:
省略了getter、setter方法
数据访问PersonRepository源码如下:
代码解释:
1.支持@Query查询,查询参数构造JSON字符串即可
控制器Controller源码如下:
(4).测试
访问http://localhost:8085/save 测试保存,页面如下:
我们可以在RoboMongo中查看保存后的数据,如图:
访问http://localhost:8085/find?name=chris,如图:
访问http://localhost:8085/query?age=20,如图:
- Spring Boot+MongoDB项目搭建
- spring-boot项目简单搭建
- 快速搭建Spring Boot项目
- 一、spring boot项目搭建
- Spring boot项目搭建案例
- Spring boot项目搭建入门
- spring boot项目基础搭建
- Spring Boot 项目快速搭建
- Spring Boot+Redis项目搭建
- 【Spring Boot教程】快速搭建spring boot项目工程
- 用gradle搭建spring boot项目
- spring-boot项目搭建(新手上路)
- Spring Boot 用maven搭建RESTful项目
- 搭建一个spring-boot项目 1
- 搭建一个spring-boot项目 2
- 搭建一个spring-boot项目 3
- 搭建一个spring-boot项目 4
- spring boot之简单项目搭建
- eclipse使用mybatis generator自动生成代码
- dbeaver安装使用说明
- Linux下源码编译安装MySQL 5.7.9
- 当容器处于隐藏状态时,调用百度地图会出现bug的解决办法
- 第十三周 项目四 Floyd算法验证
- Spring Boot+MongoDB项目搭建
- JNI弹Toast
- JAVA将一个list里的数据复制到另一个list中
- CSS-position定位
- 我留短发了
- Tablayout的使用--pizifusheng
- 2017年,程序员在人工智能领域的薪资有多高?
- Nfs服务端配置
- 2017年深度学习必读31篇论文(附论文下载地址)