<strong><span style="font-family:FangSong_GB2312;"></span></strong><pre name="code" class="java">package com.bjhy.platform.criminal.search.core.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * @Description 用于配置实体类字段说明信息 * @author wangbowen * @date 2015年12月14日 */ @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) public @interface ColumnConfig { /** * 字段的中文名 * @return */ String description() default ""; }
<strong><span style="font-family:FangSong_GB2312;"> </span></strong>
<strong><span style="font-family:FangSong_GB2312;"> </span></strong>
<strong><span style="font-family:FangSong_GB2312;"> </span></strong>
<strong><span style="font-family:FangSong_GB2312;"> </span></strong>
<strong><span style="font-family:FangSong_GB2312;"> </span></strong>
<strong><span style="font-family:FangSong_GB2312;"> </span></strong>
<strong><span style="font-family:FangSong_GB2312;">package com.bjhy.platform.criminal.search.core.tool; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import com.bjhy.platform.criminal.search.core.annotation.ColumnConfig; /*** * 获取属性与对应的中文名工具类 * @author wangbowen * @date 2015-12-14 * @version 1.0 * */ public class FieldHelper { /** * 根据实体类名获取字段名称和中文名称 * @param entityName 实体类名 * @return List<Map<String,Object>> */ public static List<LinkedHashMap<String,Object>> initAnnoFieldDic(@SuppressWarnings("rawtypes") Class clzz){ //用于存储字段和中文值的集合 List<LinkedHashMap<String,Object>> fieldList = new ArrayList<>(); //用于存储实体类字段(key)和中文名(value) LinkedHashMap<String,Object> valueMap = new LinkedHashMap<>(); //获取对象中所有的Field Field[] fields = clzz.getDeclaredFields(); //循环实体类字段集合,获取标注@ColumnConfig的字段 for (Field field : fields) { if(field.isAnnotationPresent(ColumnConfig.class)){ //获取字段名 String fieldNames = clzz.getSimpleName()+"."+field.getName(); //获取字段注解 ColumnConfig columnConfig = field.getAnnotation(ColumnConfig.class); //判断是否已经获取过该code的字典数据 避免重复获取 if(valueMap.get(columnConfig.description())==null){ valueMap.put(fieldNames, columnConfig.description()); } } } fieldList.add(valueMap);//将LinkedHashMap放入List集合中 return fieldList; } } </span></strong>