_JFinalGenerator.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package com.warewms.common.utils;
  2. import com.jfinal.kit.PathKit;
  3. import com.jfinal.plugin.activerecord.dialect.SqlServerDialect;
  4. import com.jfinal.plugin.activerecord.generator.Generator;
  5. import com.jfinal.plugin.activerecord.generator.MetaBuilder;
  6. import com.jfinal.plugin.druid.DruidPlugin;
  7. import javax.sql.DataSource;
  8. /**
  9. * 在数据库表有任何变动时,运行一下 main 方法,极速响应变化进行代码重构
  10. */
  11. public class _JFinalGenerator {
  12. final static String DB_NAME = "x521_2";
  13. final static String DB_USER_NAME = "root";
  14. final static String DB_USER_PWD = "wyt312gizmo";
  15. final static String PK_NAME = "warewms"; //项目包名称
  16. final static String[] excludedTable = new String[]{
  17. "QRTZ_JOB_DETAILS",
  18. "QRTZ_TRIGGERS",
  19. "QRTZ_SIMPLE_TRIGGERS",
  20. "QRTZ_CRON_TRIGGERS",
  21. "QRTZ_SIMPROP_TRIGGERS",
  22. "QRTZ_BLOB_TRIGGERS",
  23. "QRTZ_CALENDARS",
  24. "QRTZ_PAUSED_TRIGGER_GRPS",
  25. "QRTZ_FIRED_TRIGGERS",
  26. "QRTZ_SCHEDULER_STATE",
  27. "QRTZ_LOCKS"
  28. };
  29. public static DataSource getDataSource() {
  30. String jdbcUrl = "jdbc:mysql://localhost:3306/"+DB_NAME+"?useUnicode=true&characterEncoding=UTF-8&useSSL=false";
  31. String user = DB_USER_NAME;
  32. String password = DB_USER_PWD;
  33. DruidPlugin druidPlugin = new DruidPlugin(jdbcUrl, user, password);
  34. druidPlugin.start();
  35. return druidPlugin.getDataSource();
  36. }
  37. public static void main(String[] args) {
  38. String rootPath = PathKit.getWebRootPath();
  39. // base model 所使用的包名
  40. String baseModelPackageName = "com."+PK_NAME+".model.base";
  41. // base model 文件保存路径
  42. String baseModelOutputDir = rootPath + "/src/main/java/com/"+PK_NAME+"/model/base";
  43. // model 所使用的包名 (MappingKit 默认使用的包名)
  44. String modelPackageName = "com."+PK_NAME+".model";
  45. // model 文件保存路径 (MappingKit 与 DataDictionary 文件默认保存路径)
  46. String modelOutputDir = baseModelOutputDir + "/..";
  47. // 创建生成器
  48. Generator gernerator = new Generator(getDataSource(), baseModelPackageName, baseModelOutputDir, modelPackageName, modelOutputDir);
  49. //生成特定表
  50. _MetaBuilder metaBuilder = new _MetaBuilder(getDataSource());
  51. // MetaBuilder metaBuilder = new MetaBuilder(getDataSource());
  52. metaBuilder.addExcludedTable(excludedTable);
  53. gernerator.setMetaBuilder(metaBuilder);
  54. // 添加不需要生成的表名
  55. // gernerator.addExcludedTable("order_coupon");
  56. // 设置是否在 Model 中生成 dao 对象
  57. gernerator.setGenerateDaoInModel(true);
  58. // 设置是否生成字典文件
  59. gernerator.setGenerateDataDictionary(false);
  60. // 设置需要被移除的表名前缀用于生成modelName。例如表名 "osc_user",移除前缀 "osc_"后生成的model名为 "User"而非 OscUser
  61. gernerator.setRemovedTableNamePrefixes("tb_");
  62. gernerator.generate();
  63. //gernerator.setDialect(new SqlServerDialect());
  64. //代码生成
  65. _JFCodeGenerator.me.generate();
  66. }
  67. }