业务题day03

news/2025/1/24 16:22:37/

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

我们项目中使用Java Bean Validation规范进行参数校验,该规范定义了一组注解,用于对方法参数、类属性等进行校验。

在需要进行参数校验的对象上添加注解,如@NotNull、@NotBlank、@Min、@Max等。这些注解可以限制参数的非空、最小值、最大值等条件。

在方法中使用@Valid注解对参数对象进行校验,在方法参数上使用@BindingResult对象接收校验结果,并进行错误处理。

在错误处理中,可以获取到校验失败的字段和对应的错误信息,并返回给前端或进行其他操作。

可以自定义校验注解和校验器,以满足特定的业务需求。可以自定义一个@UniqueUsername注解,用于校验用户名的唯一性。

除了使用Java Bean Validation,还可以结合其他框架或工具进行参数校验,如Spring Validation等。

通过以上方式在项目中进行参数校验,确保传入的参数符合预期的规则和条件。

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

我们这个问答系统用到了两张表, 互动问题表 和 互动回答评论表。

互动问题表中的主要字段有 问题id、问题标题、问题描述、所属课程id、所属课程章id、所属课程节id、提问学员id、最新一个回答的id、问题下回答的数量、是否匿名、是否被隐藏、管理端查看问题状态、提问时间、更新时间 。

互动回答评论表中的主要字段有 回复id、问题id、回复的上级回答id、回复者id、回复内容、回复的目标用户id、回复的目标回复id、评论数量、点赞数量、是否被隐藏、是否匿名、创建时间、更新时间。

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

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

这是因为在存储问题和评论这种可能包含多个属性和嵌套结构的数据时,MongoDB比MySQL更合适。

因为MongoDB是一个非关系型(NoSQL)数据库,它能够轻松地处理复杂的数据结构和变化频繁的数据模式。

相较之下MySQL是一个关系型(RDBMS)数据库,它用表格的形式组织数据,并通过事先定义好的模式进行存储。

当需要存储包含多个属性和嵌套结构的数据时,MySQL需要创建多个表格并进行关联,而这样的操作会导致复杂度提高。

除此之外,MongoDB采用的是BSON(Binary JSON)格式,它能够更有效地存储和检索JSON数据类型。

所以在存储问题和评论这种可能包含大量JSON格式数据的情况下,MongoDB也能有更好的性能表现。

最后,MongoDB还支持高效的查询和索引功能,能够满足实时访问和快速检索数据的需求。

所以,在需要高度灵活性、可扩展性和高性能的场景中,往往选择MongoDB。


http://www.ppmy.cn/news/1318274.html

相关文章

最简单爱心的解析

首先你需要了解爱心代码在直角坐标系的方程 数学知识&#xff1a;x 属于 -1.5 ~ 1.5 y 属于 -1 ~ 1.5 和 高中所学的线性规划 请看代码 #include <math.h> #include <stdlib.h> #include <Windows.h> #include <stdio.h> int main() { …

东北编程语言???

在GitHub闲逛&#xff0c;偶然发现了东北编程语言&#xff1a; 东北编程语言是由Zhanyong Wan创造的&#xff0c;它使用东北方言词汇作为基本关键字。这种编程语言的特点是简单易懂&#xff0c;适合小学文化程度的人学习&#xff0c;并且易于阅读、编写和记忆。它的语法与其他编…

基于云平台技术降低整车能耗的可行性浅谈

云平台技术降低整车能耗的可行性主要体现在以下几个方面&#xff1a; 技术成熟度&#xff1a;随着物联网、大数据、人工智能等技术的不断发展&#xff0c;云平台技术在整车能耗管理方面已经具备了相当的技术成熟度。这些技术可以实时收集、处理和分析车辆的运行数据&#xff0…

期刊会议机构区别

IEEE 电气和电子工程师协会&#xff1a;是一个国际性的电子技术与信息科学工程师的协会电气与电子工程师协会。它是世界上最大的专业技术组织之一&#xff0c;拥有来自175个国家的36万会员。IEEE出版了近三分之一的技术文献&#xff0c;其中包括每年出版的200本期刊和杂志&…

CCPC 2023 北京市赛 G.【模板】线段树(线段树区间合并20次多项式)

题目 思路来源 lyw 题解 洛谷高仿题目P4247 (aix)(aix)(aix)注意到当x有超过20项时&#xff0c;20个2相乘&#xff0c;对2的20次方取模就为0 所以&#xff0c;维护0次项到19次项乘积的和&#xff0c;向上合并时&#xff0c;是两个多项式卷积&#xff0c;这里暴力相乘即可 …

austin-admin 消息推送平台前端项目依赖低代码平台Amis 怎么使用

austin-admin 消息推送平台前端项目&#x1f525;依赖低代码平台Amis 怎么使用 收到一个通知&#xff0c;要将部署一个开源的消息系统 :austin的前端开源&#xff1a;https://gitee.com/zhongfucheng/austin-admin 本地运行 1、使用npm或者yarn这些咯 yarn yarn start2、使用…

SDL2 连续帧图像显示

QT使用SDL多窗口显示视频&#xff08;linux&#xff0c;ubuntu&#xff09;_linux qt sdl-CSDN博客 QT使用SDL播放YUV视频 - C - QT C 使用SDL显示RGB图像数据_c sdl-CSDN博客 SDL库入门&#xff1a;掌握跨平台游戏开发和多媒体编程_sdl开发-CSDN博客 SDL教程零基础入门 简…

web练习2

需求 1.计算用户指定的数值内的奇数和。例如用户输入的是10则计算13579的和 <!doctype html> <html lang"en"> <head><meta charset"utf-8"><title>作业1</title></head> <body> <script>//计算用…