Java定义获取类属性名方法减少hardcode代码

  • 2021-12-28
  • Admin

本产品中调用存储过程,前端属性绑定到只需要知道Model对象的属性名称。引用时直接使用属性名会导致程序中出现很多harcode代码。可以为每个Model类定义一个ModelField类,ModelField类定义了一些返回Model类属性名称的方法,这样可以防止hardcode代码,对以后的维护也很有帮助。本文将介绍如何定义和使用ModelField,包括”定义所有ModelField类的父类“、”具体的ModelField继承了BaseModelField“、”使用ModelField“。

1、定义所有ModelField类的父类。

BaseModelField是所有ModelField类的父类,定义了一些获取公共属性的方法:

查看代码
  1. package com.bx.erp.model;
  2. public class BaseModelField {
  3. protected String FIELD_NAME_ID;
  4. public String getFIELD_NAME_ID() {
  5. return "ID";
  6. }
  7. protected String FIELD_NAME_listSlave1;
  8. public String getFIELD_NAME_listSlave1() {
  9. return "listSlave1";
  10. }
  11. protected String FIELD_NAME_listSlave2;
  12. public String getFIELD_NAME_listSlave2() {
  13. return "listSlave2";
  14. }
  15. protected String FIELD_NAME_listSlave3;
  16. public String getFIELD_NAME_listSlave3() {
  17. return "listSlave3";
  18. }
  19. protected String FIELD_NAME_createDatetime;
  20. public String getFIELD_NAME_createDatetime() {
  21. return "createDatetime";
  22. }
  23. protected String FIELD_NAME_updateDatetime;
  24. public String getFIELD_NAME_updateDatetime() {
  25. return "updateDatetime";
  26. }
  27. protected String FIELD_NAME_syncDatetime;
  28. public String getFIELD_NAME_syncDatetime() {
  29. return "syncDatetime";
  30. }
  31. protected String FIELD_NAME_syncType;
  32. public String FIELD_NAME_syncType() {
  33. return "syncType";
  34. }
  35. protected String FIELD_NAME_iOrderBy;
  36. public String getFIELD_NAME_iOrderBy() {
  37. return "iOrderBy";
  38. }
  39. protected String FIELD_NAME_isASC;
  40. public String getFIELD_NAME_isASC() {
  41. return "isASC";
  42. }
  43. protected String FIELD_NAME_ErrorMessage;
  44. public String getFIELD_NAME_ErrorMessage() {
  45. return "errorMessage";
  46. }
  47. protected String FIELD_NAME_pageIndex;
  48. public String getFIELD_NAME_pageIndex() {
  49. return "pageIndex";
  50. }
  51. protected String FIELD_NAME_pageSize;
  52. public String getFIELD_NAME_pageSize() {
  53. return "pageSize";
  54. }
  55. protected String FIELD_NAME_returnObject;
  56. public String getFIELD_NAME_returnObject() {
  57. return "returnObject";
  58. }
  59. protected String FIELD_NAME_queryKeyword;
  60. public String getFIELD_NAME_queryKeyword() {
  61. return "queryKeyword";
  62. }
  63. protected String FIELD_NAME_fieldToCheckUnique;
  64. public String getFIELD_NAME_fieldToCheckUnique() {
  65. return "fieldToCheckUnique";
  66. }
  67. protected String FIELD_NAME_date1;
  68. public String getFIELD_NAME_date1() {
  69. return "date1";
  70. }
  71. protected String FIELD_NAME_date2;
  72. public String getFIELD_NAME_date2() {
  73. return "date2";
  74. }
  75. protected String FIELD_NAME_iPageIndex;
  76. public String getFIELD_NAME_iPageIndex() {
  77. return "iPageIndex";
  78. }
  79. protected String FIELD_NAME_iPageSize;
  80. public String getFIELD_NAME_iPageSize() {
  81. return "iPageSize";
  82. }
  83. protected String FIELD_NAME_uniqueField;
  84. public String getFIELD_NAME_uniqueField() {
  85. return "uniqueField";
  86. }
  87. protected String FIELD_NAME_operatorStaffID;
  88. public String getFIELD_NAME_operatorStaffID() {
  89. return "operatorStaffID";
  90. }
  91. public String FIELD_NAME_returnSalt;
  92. public String getFIELD_NAME_returnSalt() {
  93. return "returnSalt";
  94. }
  95. protected String FIELD_NAME_posID;
  96. public String getFIELD_NAME_posID() {
  97. return "posID";
  98. }
  99. protected String FIELD_NAME_syncSequence;
  100. public String getFIELD_NAME_syncSequence() {
  101. return "syncSequence";
  102. }
  103. protected String FIELD_NAME_memberCardID;
  104. public String getFIELD_NAME_memberCardID() {
  105. return "memberCardID";
  106. }
  107. }

2、具体的ModelField继承了BaseModelField。

例如:StaffField:

查看代码
  1. public class StaffField extends BaseAuthenticationModelField {
  2. protected String FIELD_NAME_involvedResigned;
  3. public String getFIELD_NAME_involvedResigned() {
  4. return "involvedResigned";
  5. }
  6. protected String FIELD_NAME_forModifyPassword;
  7. public String getFIELD_NAME_forModifyPassword() {
  8. return "forModifyPassword";
  9. }
  10. protected String FIELD_NAME_createNewStaff;
  11. public String getFIELD_NAME_createNewStaff() {
  12. return "createNewStaff";
  13. }
  14. protected String FIELD_NAME_isLoginFromPos;
  15. public String getFIELD_NAME_isLoginFromPos() {
  16. return "isLoginFromPos";
  17. }
  18. protected String FIELD_NAME_roleID;
  19. public String getFIELD_NAME_roleID() {
  20. return "roleID";
  21. }
  22. protected String FIELD_NAME_confirmNewPassword;
  23. public String getFIELD_NAME_confirmNewPassword() {
  24. return "confirmNewPassword";
  25. }
  26. protected String FIELD_NAME_confirmResetNewPassword;
  27. public String getFIELD_NAME_confirmResetNewPassword() {
  28. return "confirmResetNewPassword";
  29. }
  30. protected String FIELD_NAME_resetNewPassword;
  31. public String getFIELD_NAME_resetNewPassword() {
  32. return "resetNewPassword";
  33. }
  34. protected String FIELD_NAME_phone;
  35. public String getFIELD_NAME_phone() {
  36. return "phone";
  37. }
  38. protected String FIELD_NAME_name;
  39. public String getFIELD_NAME_name() {
  40. return "name";
  41. }
  42. protected String FIELD_NAME_weChat;
  43. public String getFIELD_NAME_weChat() {
  44. return "weChat";
  45. }
  46. protected String FIELD_NAME_openid;// 用户关注公众号的唯一标识
  47. public String getFIELD_NAME_openid() {
  48. return "openid";
  49. }
  50. protected String FIELD_NAME_unionid;// 只有将公众号绑定到微信开放平台帐号后,才会出现该字段。
  51. public String getFIELD_NAME_unionid() {
  52. return "unionid";
  53. }
  54. protected String FIELD_NAME_ICID;
  55. public String getFIELD_NAME_ICID() {
  56. return "ICID";
  57. }
  58. protected String FIELD_NAME_passwordExpireDate;
  59. public String getFIELD_NAME_passwordExpireDate() {
  60. return "passwordExpireDate";
  61. }
  62. protected String FIELD_NAME_isFirstTimeLogin;
  63. public String getFIELD_NAME_isFirstTimeLogin() {
  64. return "isFirstTimeLogin";
  65. }
  66. protected String FIELD_NAME_shopID;
  67. public String getFIELD_NAME_shopID() {
  68. return "shopID";
  69. }
  70. protected String FIELD_NAME_departmentID;
  71. public String getFIELD_NAME_departmentID() {

联系站长

QQ:769220720

Copyright © SibooSoft All right reserved 津ICP备19011444号