SpringBoot集成使用mongodb

1.什么是mongodb

mongodb和redis一样是一种NoSQL存储介质,存储读取快,但实质上它又是一种介于关系型数据库(如mysql,数据存在磁盘中)和非关系型数据库(如redis,数据存在内存中)的介质,它数据存在磁盘,但读取又借助内存机制映射进行,所以集成了关系型和非关系型的各自优点。它的设计是基于分布式储存的,可用集群部署来分压。

优点:读取快、数据不易丢失(相对于redis)、支持集群;

缺点:不适合事务处理强度大、联表查询复杂的逻辑

2.Springboot集成使用mongodb

springboot集成使用mongodb分为以下几步:

1.依赖注入

SpringBoot集成使用mongodb_第1张图片
依赖

2.配置连接信息(图中两种配置形式都可以)

SpringBoot集成使用mongodb_第2张图片
注释的形式只使用于mongodb2.x  
集群部署时的配置

3.映射类

SpringBoot集成使用mongodb_第3张图片
1.@Document类注解标明该类映射的集合名;    2.@Id注解设置自定义的主键名及类型,不设置的情况下mongodb默认使用ObjectId类型的主键,需要注意的是不管哪种形式,在库中都是以_id的key名来储存的

4.mongodb数据库访问接口及测试使用

SpringBoot集成使用mongodb_第4张图片
数据库接口StudentRepository

MongoRepository提供许多源方法,可以完成对数据库的基本操作,方法可以根据Idea的自动提示可以看到

SpringBoot集成使用mongodb_第5张图片
super自带源方法

当然,若基本方法满足不了需要,可以自写方法,MongoRepository根据方法名来进行语句解析,也支持自定义查询语句

SpringBoot集成使用mongodb_第6张图片
方法名查询方式1
SpringBoot集成使用mongodb_第7张图片
方法名查询方式2
SpringBoot集成使用mongodb_第8张图片
方法名查询方式3
SpringBoot集成使用mongodb_第9张图片
1.自定义语句不是用sql语句,用的是mongodb查询语句;    2.id在库中会转成_id储存所以变量名是_id;mongodb区别字符串的大小写;    3.返回中可以为集合类,也可以是java8的stream格式

3.文档及第三方管理软件

Spring Data MongoDB

studio 3T

SpringBoot集成使用mongodb_第10张图片

你可能感兴趣的:(SpringBoot集成使用mongodb)