第三天业务题

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

是这样的,我们项目中是使用Validation进行参数校验的.

校验空值:

    @Null    可以标注在任意类型元素上,被标注的元素必须为null
    @NotNull    可以标注在任意类型元素上,被标注的元素必须不能为null,但是可以为空串
    @NotBlank    可以标注在字符串类型上,被标注的元素不能为null,也不能为空串
    数值:
    @Min(value)    被标注的元素必须是一个数字,其值必须大于等于指定的最小值,对于null无效
    @Max(value)    被标注的元素必须是一个数字,其值必须小于等于指定的最大值,对于null无效
    @Range(min=,max=)    被标注的字符串的大小必须在指定的范围内,对于null无效
    长度:
    @Size(min=,max)    可以标注在字符串、数组、集合、map上,用于控制数组等长度
    @Length(min=,max=)    可以标注在字符串上,被标注的字符串的大小必须在指定的范围内
    @Digits(integer = 3,fraction = 2)     验证数值的精度
    @NotEmpty    可以标注在字符串、集合、数组、map类型上   被标注的元素值不为null,也不能为空集合或者空串
    其他:
    @AssertTrue    被标注的元素必须为true
    @AssertFalse    被标注的元素必须为false
    @Email    被标注的元素必须是电子邮箱地址
    @URL    被注的元素必须是一个正确的网址
    @Past    被标注的元素必须是一个过去的日期
    @Future    被标注的元素必须是一个将来的日期
    @Pattern(value)    被标注的元素必须符合指定的正则表达式


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

问答系统一共用到了3张表,分别是:互动提问的问题表,互动问题的回答或评论表和学生用户表.

问题表:id主键,标题,所属课程id,所属课程章id,所属课程节id,提问学员id,最新的一个回答的id,hidden是否被隐藏

回答或评论表:id,互动问题问题id,回复的上级回答id,回答者id,回答内容,回复的目标用户id,回复的目标回复id.

问题表对回答或评论表是一对多的关系.


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

是这样的,问题和评论相对来说并不是那么重要的数据,同时数据量很大,如果存在MySQL会对

MySQL造成很大的压力,而Mongo本身就支持处理海量数据,同时安全性也不如MySQL,所以Mongo更适合存储问题和评论.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值