day03

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

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

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

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

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


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

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

        在 问题表 中主要字段有:id、内容、提问人、是否隐藏以及是否匿名等

        在 回复表 中主要字段有:id、内容、回复人、回复的哪个问题以及回复问题人的评论id等,在查询时我们对回复表使用自连接,用回复表id去对应回复上个评论的id

        问题表和回复表是一对多的关系,一个问题是可以对应多个回复的,但是一个回复只能属于一个问题


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

        是因为MongoDB一般用来存储海量数据,而MYSQL数据库则用于存储价值相对较高的数据

        使用MongoDB是因为以下主要原因:

        ①面向集合存储,易于存储对象类型的数据

        ②文件存储格式为BSON

        ③支持动态查询,支持索引

        ④MongoDB在分布式系统中有较好的可扩展性,可以更好的处理大数据量和高并发的请求。MYSQL其实也支持分布式架构的,但通常需要使用分片和复制等技术来实现的可扩展性。

        问题和评论都属于那种数量较多且价值没那么高的类型,所以选择使用MongoDB而不是MYSQL存储问题和评论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值