基本注解
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.auto
为true
。默认为false
。 使用方式如下,作为@CurdModelObject
的参数进行标注,标注后的实体对象会在首次编译时生成相关Controller以及Repository在配置文件中配置的包名下。
@CurdModelObject(value = "用户管理",trusteeship = @CurdTrusteeShipObject())