day03

3-1 你们的项目是如何进行参数校验的
Spring框架中使用validation进行参数校验的注解,以下是一些常用的参数校验注解及其功能:

针对字符串:

  1. @NotEmpty:验证被注解的字符串不为null且长度大于0。
  2. @NotBlank:验证被注解的字符串不为null且经过修剪后的长度大于0。
  3. @Email:验证被注解的字符串为有效的电子邮件地址。
  4. @Pattern:验证被注解的字符串是否匹配指定的正则表达式模式。

针对集合、数组和映射:

  1. @NotEmpty:验证被注解的集合、数组或映射不为null且不为空。
  2. @Size:验证被注解的集合、数组或映射的大小在指定范围内。

针对数字:

  1. @NotNull:验证被注解的元素不为null。
  2. @Min:验证被注解的数字不小于指定的最小值。
  3. @Max:验证被注解的数字不大于指定的最大值。

这些注解可以在方法参数、实体类的字段上使用,以便在接收请求参数或者实体类属性赋值时进行校验。通过在控制器方法参数或实体类字段上添加这些注解,Spring框架会自动进行参数校验,确保数据的合法性。


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

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

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

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

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

3-3 你们为什么用Mongo, 而不用MySQL存储问题和评论
MongoDB是非关系型数据库,适合存储非结构化或半结构化的数据,而MySQL是关系型数据库适合存储结构化数据
在此项目中,存储问题与评论使用mongo的原因主要有以下几点:
1.数据模型:MongoDB是一个文档数据库,使用JSON格式存储数据,非常适合存储具有不同结构的问题和评论。
相比之下,MySQL是关系型数据库,需要定义表结构和关系,不太适合存储灵活的、变化多端的数据。
2.可扩展性:MongoDB具有良好的横向扩展能力,可以轻松地在集群中添加新的节点以处理更大的数据量和并发请求。
而MySQL的扩展性相对较弱,需要更多的复杂性配置。
3.大数据处理:对于需要处理大量数据的场景,MongoDB的分布式架构可以更好地处理大数据量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值