DbAliasEnum.java 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. package jnpf.database.enums;
  2. import jnpf.database.source.DbBase;
  3. import lombok.AllArgsConstructor;
  4. import lombok.Getter;
  5. /**
  6. * 类功能
  7. *
  8. * @author JNPF开发平台组 YanYu
  9. * @version v3.4.6
  10. * @copyrignt 引迈信息技术有限公司
  11. * @date 2023-02-10
  12. */
  13. @AllArgsConstructor
  14. @Getter
  15. public enum DbAliasEnum {
  16. /* =========================== 表 ============================ */
  17. /**
  18. * 表大小
  19. */
  20. TABLE_SIZE("F_TABLE_SIZE"),
  21. /**
  22. * 表名
  23. */
  24. TABLE_NAME("F_TABLE_NAME"),
  25. /**
  26. * 表注释
  27. */
  28. TABLE_COMMENT("F_TABLE_COMMENT"),
  29. /**
  30. * 类型
  31. */
  32. TABLE_TYPE("F_TABLE_TYPE"),
  33. /**
  34. * 表总数
  35. */
  36. TABLE_SUM("F_TABLE_SUM"),
  37. /* =========================== 字段 ============================ */
  38. /**
  39. * 字段名
  40. */
  41. FIELD("F_FIELD"),
  42. /**
  43. * 字段注释
  44. */
  45. FIELD_COMMENT("F_FIELD_COMMENT"),
  46. /**
  47. * 字段默认值
  48. */
  49. DEFAULT_VALUE("F_DEFAULT_VALUE"),
  50. /**
  51. * 自增
  52. */
  53. AUTO_INCREMENT("F_AUTO_INCREMENT"),
  54. /**
  55. * 默认值(用于判断自增长)
  56. */
  57. COLUMN_DEFAULT("F_COLUMN_DEFAULT"),
  58. /**
  59. * 自增
  60. */
  61. IS_IDENTITY("F_IS_IDENTITY"),
  62. /**
  63. * 允空
  64. */
  65. ALLOW_NULL("F_ALLOW_NULL"),
  66. /**
  67. * 主键
  68. */
  69. PRIMARY_KEY("F_PRIMARY_KEY"),
  70. /* ------------- 字段数据类型 ------------- */
  71. /**
  72. * 类型
  73. */
  74. DATA_TYPE("F_DATA_TYPE"),
  75. /**
  76. * 以字符为单位的最大长度,适于二进制数据、字符数据,或者文本和图像数据。否则,返回 NULL
  77. * 例如:text、varchar(int时为null),其中varchar为可变长度,text为固定长度
  78. */
  79. CHAR_LENGTH("F_CHAR_LENGTH"),
  80. /**
  81. * precision:数值精度(整个数值的长度)
  82. * 例如:decimal
  83. * 注意:int(i)类型时,无论i是多少,NUMERIC_PRECISION都是10,在填充0的时候i才会起作用
  84. */
  85. NUM_PRECISION("F_NUM_PRECISION"),
  86. /**
  87. * scale:数值标度(小数部分的长度)
  88. */
  89. NUM_SCALE("F_NUM_SCALE"),
  90. /* =========================== 其他 ============================ */
  91. /**
  92. * 总数返回
  93. */
  94. TOTAL_RECORD("totalRecord"),
  95. /**
  96. * 总数
  97. */
  98. TOTAL("total"),
  99. /**
  100. * 自增主键触发器判断
  101. */
  102. AUTO_TRIGGER("F_AUTO_TRIGGER"),
  103. ;
  104. private final String alias;
  105. public String getAlias(String dbEncode) {
  106. return getAlias(dbEncode, alias);
  107. }
  108. public static String getAlias(String dbEncode, String keyWord){
  109. if (DbBase.POSTGRE_SQL.equals(dbEncode)) {
  110. //postgre别名只能输出小写,Oracle只能大写
  111. //Mysql默认,SqlServer默认
  112. return keyWord.toLowerCase();
  113. } else if (DbBase.ORACLE.equals(dbEncode)) {
  114. return keyWord.toUpperCase();
  115. } else {
  116. return keyWord;
  117. }
  118. }
  119. }