day03-小结

文章讲述了项目中的参数校验采用BeanValidation框架,包括实体类注解定义验证规则、@Valid注解自动验证和处理验证结果。同时介绍了问答系统中的数据库设计,使用MongoDB存储大量问题和评论,而非MySQL,因为Mongo更适合大数据量且低价值的内容。
摘要由CSDN通过智能技术生成

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

我们的项目中使用Bean Validation框架进行参数校验,主要分为三部分

        首先,在实体类中定义验证规则,我们在我们的实体类中使用注解来定义字段的验证规则。例如,我们可以在实体类的字段上使用@NotNull、@Size、@Pattern等注解来声明字段的验证条件。

       其次,当接收到请求参数时,在接收的参数前使用@Valid注解,框架会自动执行参数对象的验证操作,并将验证结果返回给调用方。

      最后,在获取验证结果后,我们可以根据需求对验证结果进行处理。如果验证失败,我们可以采取相应的处理措施,如返回错误信息给客户端。如果验证通过,则可以继续处理业务逻辑。

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

        我们项目中问答系统用到了两张表,分别是问题表和回复表

        Question就是问题表,存放的都是一些问题信息.主要字段有,问题下的回复数量,是否匿名,是否隐藏,是否已被查看,最后一个回答者id,提问学员id。

        Answer存放的是回复问题和回复评论所存放的数据,两个共用一张表.主要字段有,所属问题id,回复的上级id,回答者id,回复的目标用户id,是否匿名,是否隐藏,评论数量。

表间关系:

        用户表和问题表是一对多的关系,一个用户对应多个问题,但一个问题对应一个用户。

        用户表和回答评论表也是一对多的关系,一个用户对应多条回答评论,但一个回答评论对应一个用户。

       问题表和回答评论表是一对多的关系,一个问题可以有多条回答评论,但一条回答评论对应一个问题。

       以上就是我对问答系统的涉及表的相关理解。

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

        我在项目中之所以用Mongo存储问题和评论,是因MongoDB主要用来存储海量数据,而MySQL数据库主要用来存储价值相对较高的数据,而表中问题和评论不是价值特别高的,数据量还大,更适合使用Mongo,就算有一些数据丢失也无所谓的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值