表定义(tableDefine)信息

    主要的方法和功能请参看源码。

    源码

    1. /**
    2. * 表定义信息
    3. * @author david
    4. * @since 2018/12/12
    5. */
    6. class TableDefineVo {
    7. /**
    8. * id
    9. */
    10. private String id;
    11. /**
    12. * 分页大小
    13. */
    14. private String pageSize;
    15. /**
    16. * 表中文名称
    17. */
    18. private String cnname;
    19. /**
    20. * 是否需要分页
    21. */
    22. private Boolean isPaged;
    23. /**
    24. * 数据库表名称
    25. */
    26. private String dbTableName;
    27. /**
    28. * 列map,方便通过key获取
    29. */
    30. Map<String, ColumnVo> columnMap;
    31. /**
    32. * 所有列
    33. */
    34. private List<ColumnVo> columns;
    35. /**
    36. * 主键列
    37. */
    38. private List<ColumnVo> pkColumns;
    39. List<ColumnVo> getColumns() {
    40. return columns;
    41. }
    42. void setColumns(List<ColumnVo> columns) {
    43. this.columns = columns;
    44. return id;
    45. }
    46. void setId(String id) {
    47. this.id = id;
    48. }
    49. String getPageSize() {
    50. return pageSize;
    51. }
    52. void setPageSize(String pageSize) {
    53. this.pageSize = pageSize;
    54. }
    55. String getCnname() {
    56. return cnname;
    57. }
    58. void setCnname(String cnname) {
    59. this.cnname = cnname;
    60. }
    61. Boolean getIsPaged() {
    62. return isPaged;
    63. }
    64. void setIsPaged(Boolean isPaged) {
    65. this.isPaged = isPaged;
    66. }
    67. String getDbTableName() {
    68. return dbTableName;
    69. }
    70. void setDbTableName(String dbTableName) {
    71. this.dbTableName = dbTableName;
    72. }
    73. Map<String, ColumnVo> getColumnMap() {
    74. if (columnMap == null) {
    75. columnMap = new HashMap<String, ColumnVo>();
    76. for (ColumnVo column : columns) {
    77. columnMap.put(column.getColumnName(), column);
    78. }
    79. }
    80. void setColumnMap(Map<String, ColumnVo> columnMap) {
    81. this.columnMap = columnMap;
    82. }
    83. /**
    84. * 通过列名获取列信息
    85. * @param columnName 列名
    86. * @return 列信息
    87. */
    88. ColumnVo getColumnByColumnName(String columnName) {
    89. return getColumnMap().get(columnName);
    90. }
    91. /**
    92. * 获取主键列表
    93. * @return
    94. */
    95. List<ColumnVo> getPkColumns() {
    96. if (pkColumns == null) {
    97. PKFilter pkFilter = new PKFilter();
    98. pkColumns = pkFilter.filterColumns(columns);
    99. }
    100. return pkColumns;
    101. }
    102. /**
    103. * 获取一个主键
    104. * @return
    105. */
    106. ColumnVo getPkColumn() {
    107. List<ColumnVo> list = getPkColumns();
    108. if (CollectionUtils.isEmpty(list)) {
    109. return null;
    110. }
    111. return list.get(0);
    112. }
    113. /**
    114. * 获取变量名称
    115. * @return
    116. */
    117. String getVarDomainName() {
    118. return TableNameUtil.lowerCaseFirst(this.id);
    119. }
    120. }