基本注解

xisoil curd提供了一些基本的注解,用来实现一些特殊的功能。能够在开发过程中,更加方便的实现一些功能。

curd注解

使用CURD注解,可以在仅提供Entity的情况下实现CURD功能,完全脱离双手,无需编写任何冗余代码。

@CurdModelObject

此方法用来标记一个实体类为CURD模型,用来实现CURD功能。此注解必须标注在实体类上。 例如,创建了一个Member对象


@Entity(name = "Member")
@Table(name = "member")
@CurdModelObject(value = "用户管理")
@EntityListeners(AuditingEntityListener.class)
public class Member {
    //....
}

@CurdModelObject标记了该实体将用于增删改查

@CurdModel

@CurdModel用来标记实体类的相关字段,被标记的字段会提供给前端进行表格渲染以及CURD操作。该注解中包含了如下参数

  • value:字段名称
  • url:字段对应的url,用于前端渲染
  • placeholder:字段的占位符,用于前端渲染
  • group:字段分组,用于前端渲染
  • editor:是否可编辑,用于前端渲染
  • search:是否可搜索,用户后端搜索
  • show:是否可展示,用于前端渲染
  • comparable:是否可排序,用于前端渲染与后端排序
  • required:是否必填,用于前端渲染
  • type:字段类型,用来标记字段的类型,用于前端渲染。目前支持的类型有
    • STRING:字符串类型
    • NUMBER:数字类型
    • TEXTAREA:文本域类型
    • URL:链接类型
    • RICHTEXT:富文本类型
    • EDITOR:编辑器类型
    • LIGHTWEIGHTEDITOR:轻量级编辑器类型
    • LIST:列表类型
    • DATE:日期类型
    • TIME:时间类型
    • FILE:文件类型
    • IMAGE:图片类型
    • BOOLEAN:布尔类型
    • CHECKBOX:复选框类型
    • RADIO:单选框类型
    • IMAGELIST:图片列表类型
    • LISTMULTISELECT:列表多选类型
    • VIDEO:视频类型
    • COLOR:颜色类型
    • SEARCHLIST:搜索列表类型
    • TABLE:表格类型

完整Member实体类如下

@Entity(name = "Member")
@Table(name = "member")
@CurdModelObject(value = "用户管理")
@EntityListeners(AuditingEntityListener.class)
public class Member {
    @Id
    @GeneratedValue(generator="system-uuid")
    @GenericGenerator(name="system-uuid", strategy = "uuid")
    @Column(columnDefinition = "varchar(32)")
    private String id;

    @CurdModel(value = "用户名",search = true)
    private String name;

    @CurdModel(value = "年龄",comparable = true)
    private Integer age;

    @CurdModel(value = "手机")
    private String phone;

    @CurdModel(value = "添加时间",type = ObjectColumnType.DATE,editor = false)
    private Date createTime;

}


@CurdTrusteeShipObject

@CurdTrusteeShipObject用来描述是否自动托管生成CURD,如需使用此功能,则需要在配置文件中配置xisoil.curd.autotrue。默认为false。 使用方式如下,作为@CurdModelObject的参数进行标注,标注后的实体对象会在首次编译时生成相关Controller以及Repository在配置文件中配置的包名下。


@CurdModelObject(value = "用户管理",trusteeship = @CurdTrusteeShipObject())

@PermissionTrusteeShipObject

幂等验证注解

@Idempotent

包装过滤注解

@IgnorePackageAdvice

日志注解

@Log

Ip相关

@IpIntercept

@Ip