1
0

GeneratorTool.java 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package com.izouma.codegenerator;
  2. import com.izouma.awesomeadmin.model.GenCode;
  3. import com.izouma.awesomeadmin.model.TableField;
  4. import org.apache.commons.text.CaseUtils;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. public class GeneratorTool {
  8. public static List<String> getImports(GenCode model) {
  9. List<String> imports = new ArrayList<>();
  10. for (TableField field : model.getFields()) {
  11. field.setModelName(CaseUtils.toCamelCase(field.getName(), false, '_'));
  12. field.setSqlType(JdbcType2sqlType(field.getJdbcType()));
  13. switch (field.getJdbcType()) {
  14. case "bit":
  15. field.setJavaType("Boolean");
  16. break;
  17. case "tinyint":
  18. field.setJavaType("byte");
  19. break;
  20. case "smallint":
  21. field.setJavaType("short");
  22. break;
  23. case "int":
  24. field.setJavaType("Integer");
  25. break;
  26. case "bigint":
  27. field.setJavaType("Long");
  28. break;
  29. case "float":
  30. case "double":
  31. field.setJavaType("Double");
  32. break;
  33. case "decimal":
  34. case "numeric":
  35. field.setJavaType("BigDecimal");
  36. imports.add("import java.math.BigDecimal;");
  37. break;
  38. case "char":
  39. case "varchar":
  40. case "text":
  41. case "longtext":
  42. field.setJavaType("String");
  43. break;
  44. case "timestamp":
  45. case "datetime":
  46. case "date":
  47. field.setJavaType("Date");
  48. break;
  49. default:
  50. field.setJavaType("String");
  51. }
  52. }
  53. return imports;
  54. }
  55. public static String JdbcType2sqlType(String jdbcType) {
  56. if (jdbcType.equalsIgnoreCase("int")) {
  57. return "INTEGER";
  58. } else if (jdbcType.equalsIgnoreCase("datetime")) {
  59. return "TIMESTAMP";
  60. } else if (jdbcType.equalsIgnoreCase("nvarchar")) {
  61. return "VARCHAR";
  62. }
  63. return jdbcType.toUpperCase();
  64. }
  65. public static List removeDuplicated(List list) {
  66. List newList = new ArrayList();
  67. for (Object obj : list) {
  68. if (!newList.contains(obj)) {
  69. newList.add(obj);
  70. }
  71. }
  72. return newList;
  73. }
  74. public static void main(String[] args) {
  75. }
  76. }