文章评论的基本增删改查 | 学习笔记

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 快速学习 文章评论的基本增删改查

开发者学堂课程【MongoDB精讲课程(上):文章评论的基本增删改查学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/726/detail/12968


文章评论的基本增删改查


内容介绍

一、增删改查

 

增删改查

建造完实体类之后,需要完成基本的增删改查,完成基本的增删改查需要建立 Dao service,所以分别建立包和类。在 Dao 中要建立评论,叫 comments Repositorycomment repository 继承于现成的 Mongo  repository mongo repository 中有2个泛型需要指定,分别是泛型实体类和 ID 类型。此时实体类是 comment ID string型,此时不能建为 Class,需要将 Class 改为 interface。接下来在 service 中使用 DAO,在 service 中建立 comment service,需要在 service 上建立注解。首先注入 DAO 对象。此时只有接口,没有实现类。对象是动态代理生成的对象,生成的动态代理对象就是 simple mongo repository,这个动态代理对象仅做了解,不用过多深入。获取到comment repository 就可以直接使用。使用就是一系列调用,调用其提供的一系列方法。增删改查代码从参考文档中复制之后需要导入包,导入完包之后就是一系列增删改查方法。增删改查方法调用的是继承父类的方法,例如 Delete by IDfind allfind by ID Service 没有做任何操作,只是调用了 DAO 方法。查看调用是否生效,需要使用 test测试。 Test 使用的包与 service 一致,命名规则较为简单,例如新建一个 ClassClass 使用的包要保持和 service 一致。较为好区分,也较为规范。类名就是 commentservice test,是标准写法。书写完测试类之后,需要使用 Spring boot 的起步依赖,已经加上框架,直接使用即可。代码如下:

@RunWith(SpringRunner.class)

@SpringBootTest

public c1ass CommentServiceTest {

}

Runwith 中使用上 Springrunner Class,都是标准写法,加上 SpringBootTest 即可,SpringBootTest 可以不指定,不指定也能够被找到。

测试需要注入 comment service。先将 service 注入,再运行代码进行测试。需要写查询的测试方法,方法从comment service 中复制。通常情况下可以在开头加上 test。代码如下:

public c1ass CommentServiceTest {

@Autowired

private CommentService commentService;

@Test

public void testFindCommentList() {l

List<Comment> commentList = commentService.f indCommentList ()

System. out.println(commentList;

}

}

测试结果左边部分是绿色,就代表测试没有问题。

image.png

打印数据较多,不便于观察,因此测试单个数据代码如下:

public void testFindCommentById() {

Comment commentById= commentService.findCommentById("1");

System. out. println(commentById);

}

}

单个数据代码测试就是 FindCommentById。现在 comment 中有5条数据。可以随意挑选一条数据进行查询。测试保存的方法同上。先新建一个对象,新建对象之后,可以把数据set一遍。用对象调用方法,ID 可以不用写,代码如下:

public void testsaveComment(i

Comment comment=new Comment();

comment.setArticleid( "100000");

comment.setContent("测试添加的数据");

comment.setCreatedatetime(Loca1DateTime.now());

comment.setUserid( "1003");

comment.setNickname("凯撒大帝");comment.setstate( "1");

comment.setLikenum(0);

comment.setReplynum(0) ;

commentService.s aveComment(comment);

}

测试插入。插入如果不指定 IDmongo DB 会帮助用户自动生成 object ID。首先查看控制台,原来控制台有5条数据,是原使用命令行插入的数据。将插入数据代码运行,使用 Campus 刷新之后,有6条数据。插入数据代码如下:

pub1ic void testSaveComment (){

Comment comment=new Comment () ;

comment.setArticleid("100000") ;

comnent. setContent ("测试添加的裁据");

comtnent.setCreatedatetime(LocalDateTime.now()) ;

comment.setUserid("1003") :

comment. setNi ckname("凯撒大帝");

comment. setState("1");

comnent. setLikenum(0) ;

comnent. setRep1ynum(0) ;

commentService.saveComment (comment) :

}

}

此时用户没有指定 object ID Mongo DB 会自动生成一个 ID,类似于 UUID 的串,以上就是使用 Java 操作 mongo DB 的基本增删改查的内容介绍。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
3月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
153 6
|
6天前
|
SQL 关系型数据库 API
HarmonyOs开发:关系型数据库封装之增删改查
每个方法都预留了多种调用方式,比如使用callback异步回调或者使用Promise异步回调,亦或者同步执行,大家在使用的过程中,可以根据自身业务需要进行选择性调用,也分别暴露了成功和失败的方法,可以针对性的判断在执行的过程中是否执行成功。
62 13
|
3月前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
82 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
4月前
|
存储 SQL 关系型数据库
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
562 15
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
|
3月前
|
前端开发 Java 数据库连接
javamvc配置,增删改查,文件上传下载。
【10月更文挑战第4天】javamvc配置,增删改查,文件上传下载。
42 1
|
3月前
|
存储 NoSQL API
使用Py2neo进行Neo4j图数据库的增删改查操作
使用Py2neo进行Neo4j图数据库的增删改查操作
130 5
|
3月前
|
数据可视化 API PHP
低代码开发工具-学生管理系统-老师管理增删改查实现
低代码开发工具-学生管理系统-老师管理增删改查实现
50 5
|
3月前
|
SQL 数据管理 数据库
文章初学者指南:SQL新建数据库详细步骤与最佳实践
引言:在当今数字化的世界,数据库管理已经成为信息技术领域中不可或缺的一部分。作为广泛使用的数据库管理系统,SQL已经成为数据管理和信息检索的标准语言。本文将详细介绍如何使用SQL新建数据库,包括准备工作、具体步骤和最佳实践,帮助初学者快速上手。一、准备工作在开始新建数据库之前,你需要做好以下准备工作
261 3
|
4月前
|
SQL 关系型数据库 MySQL
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
课程分类查询、课程新增、统一异常处理、统一封装结果类、JSR303校验、修改课程、查询课程计划、新增/修改课程计划
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
|
3月前
|
JavaScript 前端开发 测试技术
[新手入门]todolist增删改查:vue3+ts版本!
【10月更文挑战第15天】[新手入门]todolist增删改查:vue3+ts版本!