Dict 数据字典
实现对字典类型的字段的处理,并根据当前语言环境(简体中文/繁体中文/英文/日语等)输出相应国际化语言内容。
添加依赖
xml
<parent>
<groupId>com.hisense.pangea</groupId>
<artifactId>pangea-common-dict</artifactId>
<!--该处使用当前最新版本号-->
<version>${pangea.version}</version>
</parent>
注解讲解
java
/**
* 专门用于数据字典中的key转value的自定义注解
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Dict {
/**
* 字典项:dataSource
*/
@NonNull
String value();
/**
* 方法描述:这是返回后Put到josn中的文本key值
*
* @return 返回类型: String
*/
String dictText() default "";
}
规则组特性
- @Dict 应用在实体类的字段上,表示当前字段是字典类,保存字典类的key值。
- value 表示字典的类别值,比如“性别:男、女”,这里“性别”是类别值。
- dictText 表示字典类的value值的字段名,这个字段在反馈到前端时是新增的,默认是 字段名+“_dictText”。
- 使用注解时,需要保证字典类型中已经存在对应的数据类型,如果未存在对应的数据类型,可以在字典管理中进行添加。
字典导出和导入
- 导出:支持字典类型和类型名称条件查询后的导出和全量导出。
- 导入:建议不要在上传文件中直接修改数据,可在页面进行数据修改后再进行导入和导出。
快速上手
实体类
Person
增加数据字典:- 实体类
Person
要继承实体基类BaseEntity
- 在使用数据字典的属性上加上注解
@Dict
,具体使用方法见下方两个示例:
- 实体类
示例一:
- 注解适用方式
java
public class Person extends BaseEntity{
@Dict("sex")
private String mySex;
}
- 发送到前端的Json内容:
{
"mySex":"male",
"mySex_dictTex":"男"
}
- 示例二:
- 注解使用方式
java
public class Person extends BaseEntity {
@Dict(value="sex",dictText="sexName")
private String mySex;
}
- 发送到前端的Json内容:
{
"mySex":"male",
"sexName":"男"
}
提示
数据字典支持多语言,可以在前端UI中配置,尽量使用第二种示例编写。