第三天业务题

发布时间:2024年01月18日

3-1 你们的项目是如何进行参数校验的

参数校验是为了保证数据的正确性和完整性,前后端往往都需要设置参数校验。

在我的项目中是通过使用Spring的Validation框架实现参数校验,

首先定义校验规则:在需要进行参数校验的实体类中,可以使用注解来定义校验规则,如@NotNull、@Size、@Pattern 等。例如:

@Null //可以标注在任意类型元素上, 被标注的元素必须为null
private Long id;

然后触发校验:在进行参数校验的方法中,通常需要使用 Spring 的@Validated 注解触发校验。

然后处理校验结果:如果参数校验失败,Spring 会抛出异常。可以使用异常处理器处理校验结果,并返回合适的错误信息给客户端。

这就是我项目进行参数校验的方法。

3-2 详细说一下你们的问答系统用到了几张表,表中的主要字段有哪些,表关系是什么

我们的问答系统用到了三张表,分表示互动问题表和互动回答评论表、用户表,其中互动问题表,根据基本要求需要主键,课程id,章id,节id,标题,描述,是否匿名,根据业务需要还有最新回答的id,提交问题用户的id,问题下的回答数量、用户端显示状态:是否被隐藏、问题状态:管理端是否已经查看等字段。

互动回答评论表:回答的内容是否是匿名点赞数量 评论数量用户id:也就是回答的人问题id:无论是回答、评论,都属于某个问题回答id:一个回答下会有很多评论,因此该回答下的所有评论都应记住所属的回答的id目标用户id:评论针对的目标用户,页面显示为 张三评论了李四目标评论id:评论针对的目标评论的id。

用户表中主要包含:用户id,用户名和用户图片等。

这三张表的关系为:一个问题可以包含多个评论,一个回答可以有多个回复评论,一个用户可以对一个问题,进行多次评论,一个用户也可以对多个问题,进行评论。

一个用户可以提多个问题,也可以回答多个问题,和对一个问题回答多次,一个问题可以有多个回答,一个回答也可以有多个回答及评论。

这就是我对问答系统用到的表的认知和理解。

3-3 你们为什么用MongoDB, 而不用MySQL存储问题和评论

首先呢 MongoDB是一种面向文档非关系型数据库,是类似于JSON的BSON格式,最主要的特点就是可以存储海量数据和可以存储复杂的数据结构。例如静态网页,文本,时间戳,文件等多样化数据。

当我们需要存储类似于对象,集合,文件类型的数据,数据库存储起来可能比较困难,但我们使用MongoDB的就会简单很多,它本身就支持这些数据类型的存储,实现也就简单一些了,还有当我们对某些大型数据需要高性能读写的情况下,MongoDB相比较MySQL效率更高,另外MongoDB提供故障恢复机制,使得MongoDB在高可用方面和容错性方面具备优势。

这就是我对MongoDB使用场景的理解。

文章来源:https://blog.csdn.net/adddad/article/details/135613031
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。