Springboot+MongoDB整合
一、什么是MongoDB
- MongoDB是个非关系型数据库(nosql)
- Nosql不等于not sql 而是 not only sql意即"不仅仅是SQL"
- MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。
- MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。
- MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组
二、为什么使用nosql?
现在用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL 数据库的发展却能很好的处理这些大的数据
三、什么时候使用MongoDB
● 网站数据:Mongo 非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
● 缓存:由于性能很高,Mongo 也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo 搭建的持久化缓存层可以避免下层的数据源过载。
● 大尺寸、低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。
● 高伸缩性的场景:Mongo 非常适合由数十或数百台服务器组成的数据库,Mongo 的路线图中已经包含对MapReduce 引擎的内置支持。
● 用于对象及JSON 数据的存储:Mongo 的BSON 数据格式非常适合文档化格式的存储及查询。
资料参考
mongodb主要用来干嘛,什么时候用,存什么样的数据?.
MongoDB 教程.
四、MongoDB的安装以及操作
五、整合MongoDB
- 添加Mongodb依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
-
配置MongoDB编写yml
spring: data: mongodb: host: 192.168.110.130 port: 27017 database: ruo-yi
-
菜单实体类
/** * 菜单 */ @Data @ToString @AllArgsConstructor @NoArgsConstructor public class SysMenu implements Serializable { private String _id; /** 菜单ID */ private Long menuId; /** 菜单名称 */ private String menuName; /** 父菜单名称 */