ongoDB实战演练

简介: 本项目实现头条文章评论功能,基于SpringDataMongoDB操作MongoDB数据库,支持评论的增删改查、按文章ID查询及点赞功能。构建article微服务模块,设计Comment实体类,封装评论信息,集成mongodb-driver驱动,完成持久化操作。

需求分析
某头条的文章评论业务如下:
需要实现以下功能:
1)基本增删改查API
2)根据文章id查询评论
3)评论点赞
5.2 表结构分析
数据库:articledb
5.3 技术选型
5.3.1 mongodb-driver(了解)
mongodb-driver是mongo官方推出的java连接mongoDB的驱动包,相当于JDBC驱动。我们通过一个入门的案例来了解mongodb-driver的基本使用。
官方驱动说明和下载:链接 ,官方驱动示例文档:链接。
5.3.2 SpringDataMongoDB
SpringData家族成员之一,用于操作MongoDB的持久层框架,封装了底层的mongodb-driver。
官网主页: https://projects.spring.io/spring-data-mongodb/
5.4 文章微服务模块搭建
(1)搭建项目工程article,pom.xml引入依赖:
(2)创建application.yml
(3)创建启动类
cn.itcast.article.ArticleApplication
(4)启动项目,看是否能正常启动,控制台没有错误。
5.5 文章评论实体类的编写
创建实体类 创建包cn.itcast.article,包下建包po用于存放实体类,创建实体类
cn.itcast.article.po.Comment
Java
运行代码
复制代码
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
package cn.itcast.article.po;
private String articleid;
//getter and setter.....
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getPublishtime() {
return publishtime;
}
public void setPublishtime(Date publishtime) {
this.publishtime = publishtime;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public LocalDateTime getCreatedatetime() {
return createdatetime;
}
public void setCreatedatetime(LocalDateTime createdatetime) {
this.createdatetime = createdatetime;
}
public Integer getLikenum() {
return likenum;
}
public void setLikenum(Integer likenum) {
this.likenum = likenum;
}
public Integer getReplynum() {
return replynum;
}
public void setReplynum(Integer replynum) {
this.replynum = replynum;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getParentid() {
return parentid;
}
public void setParentid(String parentid) {
this.parentid = parentid;
}
public String getArticleid() {
return articleid;
}
public void setArticleid(String articleid) {
this.articleid = articleid;
}

@Override
public String toString() {
    return "Comment{" +
    "id='" + id + '\'' +
    ", content='" + content + '\'' +
    ", publishtime=" + publishtime +
    ", userid='" + userid + '\'' +
    ", nickname='" + nickname + '\'' +
    ", createdatetime=" + createdatetime +
    ", likenum=" + likenum +
    ", replynum=" + replynum +
    ", state='" + state + '\'' +
    ", parentid='" + parentid + '\'' +
    ", articleid='" + articleid + '\'' +
    '}';
}

}

相关文章
|
2月前
|
人工智能 数据可视化 应用服务中间件
2026年新手零技术、零代码、零基础部署OpenClaw(Clawdbot)及接入 Discord 教程
在AI自动化工具全民普及的2026年,OpenClaw(原Clawdbot、Moltbot)凭借“自然语言驱动、多场景适配、高扩展性”的核心优势,成为新手、个人用户及轻量团队的首选智能AI助手。它无需专业编程基础,就能轻松实现文件管理、联网搜索、代码生成、自动化任务执行等多元化操作,堪称“7×24小时不下班的AI数字员工”[2]。而阿里云针对新手群体,专门优化推出OpenClaw一键部署方案,通过预置专属镜像、简化配置流程,将原本复杂的环境搭建、依赖安装等步骤全部自动化,真正实现“零技术、零代码、零基础”上手[1][2]。
550 2
|
2月前
|
弹性计算 人工智能 Linux
2026年阿里云的活动有哪些?云服务器特惠、优惠券等不同种类活动主要优惠内容参考
2026年阿里云推出多个不同类型的活动:云资源产品直降,轻量应用服务器低至38元/年;“99计划”提供经济型e实例和通用算力型u1实例,分别为99元/年和199元/年,且新购续费同价;弹性计算爆款直降活动覆盖多规格实例,企业用户可享高端实例折扣;企业上云扶持计划为初创企业提供高额抵扣金和技术支持。用户可根据需求、场景和预算选择合适活动。
|
3月前
|
人工智能 搜索推荐 API
智能体来了:从0-1开启你的AI分身时代
内容摘要:AI智能体(Agent)正从概念走向大规模应用,宣告了个体效率飞跃的“AI分身时代”至。本文深度拆解智能体底层逻辑,手把手教你如何利用Coze、Dify等平台构建具备感知、规划与执行能力的AI分身,助你实现从基础自动化到全时生产力的转型。
633 3
|
3月前
|
域名解析 弹性计算 安全
2026年阿里云服务器使用全教程:从配置选型到 WordPress 网站搭建
阿里云服务器(含 ECS 与轻量应用服务器)的使用需遵循 “选型 - 环境配置 - 应用部署 - 上线验证” 的核心流程,不同用户可根据技术基础与业务需求选择适配方案。本文以搭建 WordPress 博客为例,结合官方标准操作与实操细节,详解从服务器配置选择到网站上线的完整步骤,同时补充轻量与 ECS 的差异及远程连接、安全配置等关键要点,帮助用户高效上手。
|
前端开发 Java 网络架构
为什么Controller就报错404,而改为RestController就不报错了
为什么Controller就报错404,而改为RestController就不报错了
549 0
|
监控 Java Shell
「Mac畅玩鸿蒙与硬件7」鸿蒙开发环境配置篇7 - 使用命令行工具和本地模拟器管理项目
本篇将讲解在 macOS 上配置 HarmonyOS 开发环境的流程,聚焦 hvigorw 命令行工具的使用。我们将以创建 HelloWorld 项目为例,演示使用 hvigorw 进行项目构建、清理操作,并通过 DevEco Studio 的本地模拟器进行预览,帮助提升项目开发与调试效率。
815 3
「Mac畅玩鸿蒙与硬件7」鸿蒙开发环境配置篇7 - 使用命令行工具和本地模拟器管理项目
|
机器学习/深度学习 自然语言处理 算法
编译器:原理与技术的奥秘
编译器:原理与技术的奥秘
|
移动开发 安全 数据安全/隐私保护
通过Web端登录无影云桌面
通过Web端登录无影云桌面。
27882 7

热门文章

最新文章