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

简介: 快速学习 文章评论的基本增删改查

开发者学堂课程【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 的基本增删改查的内容介绍。

相关文章
|
7月前
|
SQL 数据库 开发者
Python中使用Flask-SQLAlchemy对数据库的增删改查简明示例
这样我们就对Flask-SQLAlchemy进行了一次简明扼要的旅程,阐述了如何定义模型,如何创建表,以及如何进行基本的数据库操作。希望你在阅读后能对Flask-SQLAlchemy有更深入的理解,这将为你在Python世界中从事数据库相关工作提供极大的便利。
695 77
|
7月前
|
存储 缓存 自然语言处理
评论功能开发全解析:从数据库设计到多语言实现-优雅草卓伊凡
评论功能开发全解析:从数据库设计到多语言实现-优雅草卓伊凡
216 8
评论功能开发全解析:从数据库设计到多语言实现-优雅草卓伊凡
|
7月前
|
XML 数据库 Android开发
Android数据库的使用(增删改查)
本文介绍了一个简单的数据库操作Demo,包含创建数据库、增删改查功能。通过5个按钮分别实现创建数据库、插入数据、删除数据、更新数据和查询数据的操作。代码结构清晰,适合初学者学习Android SQLite数据库基础操作。
239 5
|
7月前
|
数据库 Android开发 开发者
Android常用的room增删改查语句(外部数据库)
本文分享了将一个原生数据库驱动的单词APP重构为使用Room库的过程及遇到的问题,重点解决了Room中增删改查的常用语句实现。文章通过具体示例(以“forget”表为例),详细展示了如何定义实体类、Dao接口、Database类以及Repository和ViewModel的设计与实现。同时,提供了插入、删除、更新和查询数据的代码示例,包括模糊查询、分页加载等功能。此外,针对外部数据库导入问题,作者建议可通过公众号“计蒙不吃鱼”获取更多支持。此内容适合有一定Room基础的开发者深入学习。
249 0
Android常用的room增删改查语句(外部数据库)
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
359 6
|
10月前
|
关系型数据库 MySQL 数据库连接
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。
|
12月前
|
SQL 关系型数据库 API
HarmonyOs开发:关系型数据库封装之增删改查
每个方法都预留了多种调用方式,比如使用callback异步回调或者使用Promise异步回调,亦或者同步执行,大家在使用的过程中,可以根据自身业务需要进行选择性调用,也分别暴露了成功和失败的方法,可以针对性的判断在执行的过程中是否执行成功。
448 13
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
243 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
存储 SQL 关系型数据库
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
1811 15
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08

热门文章

最新文章