SQLContext.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. package com.gitee.gen.gen;
  2. import com.gitee.gen.util.FieldUtil;
  3. import org.apache.commons.lang.StringUtils;
  4. /**
  5. * SQL上下文,这里可以取到表,字段信息<br>
  6. * 最终会把SQL上下文信息放到velocity中
  7. */
  8. public class SQLContext {
  9. /**
  10. * 表结构定义
  11. */
  12. private final TableDefinition tableDefinition;
  13. private final JavaColumnDefinition javaPkColumn;
  14. /**
  15. * 包名
  16. */
  17. private String packageName;
  18. /**
  19. * 删除的前缀
  20. */
  21. private String delPrefix;
  22. /**
  23. * 数据库名
  24. */
  25. private String dbName;
  26. public SQLContext(TableDefinition tableDefinition) {
  27. this.tableDefinition = tableDefinition;
  28. // 默认为全字母小写的类名
  29. this.packageName = getJavaBeanName().toLowerCase();
  30. this.javaPkColumn = (JavaColumnDefinition) this.tableDefinition.getPkColumn();
  31. }
  32. /**
  33. * 返回Java类名
  34. *
  35. * @return
  36. */
  37. public String getJavaBeanName() {
  38. return getClassName();
  39. }
  40. /**
  41. * 返回类名
  42. * @return
  43. */
  44. public String getClassName() {
  45. String tableName = getJavaBeanNameLF();
  46. return FieldUtil.upperFirstLetter(tableName);
  47. }
  48. /**
  49. * 返回Java类名且首字母小写
  50. *
  51. * @return
  52. */
  53. public String getJavaBeanNameLF() {
  54. String tableName = tableDefinition.getTableName();
  55. if(delPrefix != null){
  56. String[] split = delPrefix.split(",");
  57. for (String prefix : split){
  58. tableName = tableName.startsWith(prefix) && !StringUtils.isEmpty(prefix) ? tableName.replace(prefix, "") : tableName;
  59. }
  60. }
  61. tableName = FieldUtil.underlineFilter(tableName);
  62. tableName = FieldUtil.dotFilter(tableName);
  63. return FieldUtil.lowerFirstLetter(tableName);
  64. }
  65. public String getPkName() {
  66. if (javaPkColumn != null) {
  67. return javaPkColumn.getColumnName();
  68. }
  69. return "";
  70. }
  71. public String getJavaPkName() {
  72. if (javaPkColumn != null) {
  73. return javaPkColumn.getJavaFieldName();
  74. }
  75. return "";
  76. }
  77. public String getJavaPkType() {
  78. if (javaPkColumn != null) {
  79. return javaPkColumn.getJavaType();
  80. }
  81. return "";
  82. }
  83. public String getMybatisPkType() {
  84. if (javaPkColumn != null) {
  85. return javaPkColumn.getMybatisJdbcType();
  86. }
  87. return "";
  88. }
  89. public TableDefinition getTableDefinition() {
  90. return tableDefinition;
  91. }
  92. public String getPackageName() {
  93. return packageName;
  94. }
  95. public void setPackageName(String packageName) {
  96. this.packageName = packageName;
  97. }
  98. public String getDelPrefix() {
  99. return delPrefix;
  100. }
  101. public void setDelPrefix(String delPrefix) {
  102. this.delPrefix = delPrefix;
  103. }
  104. public String getDbName() {
  105. return dbName;
  106. }
  107. public void setDbName(String dbName) {
  108. this.dbName = dbName;
  109. }
  110. }