注解说明

注解往往是在开发过程中提高效率、统一规范不可少的系列组件,Obatis开源项目在开发和使用的过程中,经过积累也集成和开发了不少的组件用户开发中,Obatis开源项目的组件位于 com.Obatis.core.annotation 包下,根据不同的使用场景分别在Obatis-web和Obatis-core两个子项目下。

com.Obatis.core.annotation.validator 包下的注解的作用为是否符合规范,主要用于请求的Controller接口参数中,在接口信息中通过注解校验参数时,一定要加 @Valid注解,否则不生效。参考如下:

@PostMapping(value = "add")
@ApiOperation(value = "添加", produces = "application/json")
public void add(@RequestBody @Valid TestInfo info) {
this.testService.add(info);
}
package com.Obatis.test.web.command;

import com.Obatis.core.annotation.validator.IsPhoneNumber;
import com.Obatis.core.annotation.validator.IsRange;
import com.Obatis.core.result.ResultInfoOutput;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;
import java.util.Date;

public class TestInfo extends ResultInfoOutput {

@ApiModelProperty(value = "类型")
@IsRange(message = "类型只能为1,2,3,4,5", value = "1,2,3,4,5")
private int type;
@ApiModelProperty(value = "用户名")
@NotNull(message = "用户名不能为空")
private String userName;
@ApiModelProperty(value = "出生日期")
private Date date;
@ApiModelProperty(value = "手机号码")
@IsPhoneNumber(message = "请输入正确的手机号码")
private String phoneNumber;
// get、set方法省略
}

以上代码的写法,通过注解的方式做了数据预判,程序代码中不用写 if...else... 逻辑判断进行数据校验,代码相对简洁。

如果是数据库编程,需要关注Obatis-core包下的注解使用,其中 @Table@Column 分别注解于表名和字段名,具体可参照 Obatis Demo项目@QueryFilter@UpdateField 主要用于Controller请求实体接收类属性上,需要与 QueryProvidersetFilters()setUpdate() 方法使用,无需在程序中进行 if...else... 逻辑判断,这两个请求注解在使用时只要求和 model实体的属性或者注解的字段名一致即可,参考源码注释说明。