SpringBoot整合MongoDB
  eP72s9Xafzwi 2023年11月17日 93 0

1、MongoDB入门

Spring-date对MongoDB做了支持,使用spring-date-mongodb可以简化MongoDB的操作,通过内部提供的MongoTemplate对象方便的进行数据的CRUD

 

入门案例:

案例:通过SpringDate-mongo完成数据CRUD

步骤分析:

1、创建工程,导入依赖

2、添加mongodb的配置信息

3、编写实体类,并通过注解配置映射

4、通过注入MongoTeplate进行数据操作

 

 

2、今日佳人模块

 

需求分析:

今日佳人,会推荐缘分支最大的用户,进行展示出来,缘分支的激素那是由用户的行为进行打分,如:点赞、点击、评论、学历、婚姻状态等信息组合而成的。

SpringBoot整合MongoDB_请求参数

 

注意:先不考虑推荐逻辑,只从已有的推荐结果中查询缘分值最高的

 

 

数据库表:

推荐用户表

"_id": 
"s core 
94.72, 
"date": "2e2e/1e/11"

 

 

实现步骤:

1、搭建服务提供者

1、配置环境(启动类,配置文件)

2、编写实体类

3、编写API层接口和实现类

2、根据接口编写vo对象

3、根据接口编写Controller

4、service调用API查询数据,构造vo对象并返回

 

 

 

3、推荐好友列表模块

 

需求分析:

il*fiit 
/tanhua/recommendation 
GET 
Authorization 
RecommendUserDto 
ResponseEntiW<PageResult>

 

注意:请求方式为Get请求,参数就不会放在请求体中collection方法中不在需要RequestBody进行解析,Get方式请求传递的是请求参数,而不是请求体Body,所以不需要@RequestBody JSON转化。

但是,里面每一项的属性名要和请求过来的每一项参数名保持一致!!

 

 

知识扩展:DTO是做参数传递的,VO是做数据响应传递的

 

 

实现步骤:

1、获取请求参数

2、Service调用API分页查询 推荐列表

1、调用API查询分页列表

2、根据推荐用户id查询用户详情

3、构造Vo对象

3、API层完成分页查询

 

 

代码优化:

在Service中存在一些问题:

在循环查询RecommendUser数据列表是需要多次调用远程userInfo进行查询造成性能问题。

 

优化:

1、在UserInfoAPI中根据条件一次性查询所有用户列表

1、使用Map集合作为返回值构造方法

2、Service层进行数据筛选

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月17日 0

暂无评论

推荐阅读
eP72s9Xafzwi