ClassUtil.java 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package jnpf.base.util;
  2. import com.baomidou.mybatisplus.annotation.TableField;
  3. import com.baomidou.mybatisplus.annotation.TableId;
  4. import com.baomidou.mybatisplus.annotation.TableName;
  5. import java.lang.reflect.Field;
  6. import java.util.HashMap;
  7. import java.util.Set;
  8. /**
  9. *
  10. * @author JNPF开发平台组
  11. * @version V3.1.0
  12. * @copyright 引迈信息技术有限公司
  13. * @date 2021/3/12 15:31
  14. */
  15. public class ClassUtil {
  16. private static void getProxyPojoValue(Object object, Set<String> key1){
  17. String id = null;
  18. // 返回参数
  19. HashMap<String,Object> hashMap = new HashMap<>(16);
  20. for (String s : key1) {
  21. Field[] fields = object.getClass().getDeclaredFields();
  22. for (Field field : fields) {
  23. field.setAccessible(true);
  24. // 获取表名
  25. TableName table = object.getClass().getAnnotation(TableName.class);
  26. if (table != null) {
  27. String tableName = table.value();
  28. hashMap.putIfAbsent("tableName", tableName);
  29. }
  30. // 获取主键id
  31. if (id == null) {
  32. boolean isIdField = field.isAnnotationPresent(TableId.class);
  33. if (isIdField) {
  34. TableField tableField = field.getAnnotation(TableField.class);
  35. if (s.toLowerCase().equals(field.getName().toLowerCase())) {
  36. String tableId = tableField.value();
  37. hashMap.put(s,tableId);
  38. id = tableId;
  39. }
  40. }
  41. }
  42. // 获取字段的值
  43. boolean isTableField = field.isAnnotationPresent(TableField.class);
  44. if (isTableField) {
  45. TableField tableField = field.getAnnotation(TableField.class);
  46. if (s.toLowerCase().equals(field.getName().toLowerCase())) {
  47. String fieldValue = tableField.value();
  48. hashMap.put(s,fieldValue);
  49. }
  50. }
  51. }
  52. }
  53. System.out.println(hashMap);
  54. }
  55. }