参数校验:框架不需要重复写if判断是否为空用户登录时前端向后端请求接口传递参数Hibernate:持久层框架类似于mybatisssm:spring springMVC Mybatisssh:Hibernate2参数校验实现–引入依赖在 javax.validation.constraints 包下有很多校验注解直接使用注解定义校验规则即可NotNull只能校验Integer类型NotBlank可以校验String和Integer类型StudentAddDTO1是类valid注解加在类上minmessage是用数组存储3.自定义校验规则interface:自定义注解为Gender||:或有一个满足就返回true没有满足的就返回false然后就可以在需要参数校验的地方加上自己定义好的Gender注解Target:指定常见注解的放置位置例:RestController注解只能放在类上ctrl鼠标左键:点击RestController注解进入后可以看到只能放在类上Target做了限制Rentention:作用时间![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/a5c83e5753b14013b670a3538c26dc73.[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vOwe1aIc-1777713045156)(https:/]单个属性抛出异常测试:新建包annotation(注解)Annotation.Gender 选择注解进行创建Constraint用于指定校验所在的类在测试工具中测试输入上图中的json格式内容如果gender输入未知控制台报错抛出 MethodArgumentNotValidException 异常分组校验 自定义分组接口校验注解中添加groups属性指定该校验属于哪个分组注意开启分组之后不需要分组校验的属性也需要添加上groups。否则不会生效。controller接口参数使用Validated注解修饰并添加属性value指定使用哪个分组的校验规则由于我们在统一响应做了异常参数拼接所以这里响应的异常能能够拼接在一起如果改成新增校验insert结果就不会走校验直接新增这条数据