springDataMongoDB通过查询方法名进行查询定义方式
一 项目目录结构
二 实现通过查询方法名进行查询
2.1 通过文章Id查询评论
2.1.1 在CommentController中添加方法
// GET /comment/article/{articleId} 根据文章ID查询文章
@RequestMapping(value = "/article/{articleId}",method = RequestMethod.GET)
public Result findByArticleId(@PathVariable String articleId){
List<Comment> list = commentService.findByArticleId(articleId); //返回多个值用list
return new Result(true,StatusCode.OK,"根据文章id查询评论成功",list);
}
2.1.2 在持久层CommentRepository添加方法
此处findby** 是通过查询方法名进行查询定义方式重点
//根据文章id查询评论
List<Comment> findByArticleid(String articleId);
2.1.3 在CommentService添加方法
public List<Comment> findByArticleId(String articleId) {
//调用持久层根据文章Id查询即可
List<Comment> list = commentRepository.findByArticleid(articleId);//返回多个数据用list
return list;
}
2.1.4 数据库展示以及功能效果
2.2 扩展
2.2.1 根据发布时间和点赞数查询
在持久层CommentRepository添加方法:List<Comment> findByPublishdateAndThumbup(Date date,Integer thumbup);
2.2.2 根据用户ID查询,并且根据发布时间倒序排序Desc
在持久层CommentRepository添加方法:List<Comment> findByUseridOrderByPublishdateDesc(String userId);