pom.xml

    1. <!-- mybatis-plus -->
    2. <dependency>
    3. <groupId>com.baomidou</groupId>
    4. <artifactId>mybatis-plus-generator</artifactId>
    5. <version>3.1.0</version>
    6. </dependency>
    7. <!-- apache.velocity -->
    8. <dependency>
    9. <groupId>org.apache.velocity</groupId>
    10. <artifactId>velocity-engine-core</artifactId>
    11. <version>2.1</version>
    12. </dependency>
    13. <!-- sfl4j -->
    14. <dependency>
    15. <groupId>org.slf4j</groupId>
    16. <artifactId>slf4j-api</artifactId>
    17. <version>1.7.7</version>
    18. </dependency>
    19. <dependency>
    20. <groupId>org.slf4j</groupId>
    21. <artifactId>slf4j-log4j12</artifactId>
    22. <version>1.7.7</version>
    23. </dependency>
    24. <dependency>
    25. <groupId>junit</groupId>
    26. <artifactId>junit</artifactId>
    27. <version>4.12</version>
    28. </dependency>
    1. /**
    2. * 代码生成 示例代码
    3. */
    4. @Test
    5. public void test() {
    6. // 1.全局配置
    7. GlobalConfig globalConfig = new GlobalConfig();
    8. globalConfig.setActiveRecord(true) // AR模式
    9. .setOutputDir(System.getProperty("user.dir") + "/src/main/java") // 生成路径
    10. .setAuthor("lmb") // 作者
    11. .setOpen(false) // 完成后不自动打开
    12. .setFileOverride(true) // 文件覆盖
    13. .setIdType(IdType.AUTO) // 主键策略
    14. .setDateType(DateType.ONLY_DATE) // 定义生成的实体类中日期类型
    15. .setServiceName("%sService") // 设置生成的service接口的名字的首字母是否为I IEmployeeService
    16. .setBaseResultMap(true) // 生成基本resultMap
    17. .setBaseColumnList(true); // 生成基本sql片段
    18. // 2.数据源配置
    19. DataSourceConfig dsConfig = new DataSourceConfig();
    20. dsConfig.setDbType(DbType.MYSQL) // 数据库类型
    21. .setDriverName("com.mysql.cj.jdbc.Driver")
    22. .setUrl("jdbc:mysql://localhost:3306/mp?serverTimezone=GMT%2B8")
    23. .setUsername("root")
    24. .setPassword("123456");
    25. // 3. 策略配置
    26. StrategyConfig strategyConfig = new StrategyConfig();
    27. strategyConfig.setCapitalMode(true) // 全局大写命名
    28. //.setDbColumnUnderline(true) // 表名 字段名使用下划线
    29. .setNaming(NamingStrategy.underline_to_camel) // 数据表映射到实体的命令策略
    30. .setTablePrefix("tbl_") // 表名前缀
    31. .setInclude("tbl_employee"); // 生成的表
    32. // 4.包名配置
    33. PackageConfig packageConfig = new PackageConfig();
    34. packageConfig.setParent("cn.carven.mp")
    35. .setEntity("entity")
    36. .setMapper("mapper")
    37. .setXml("mapper")
    38. .setController("controller")
    39. .setService("service")
    40. .setServiceImpl("service.impl");
    41. // 5.整合配置
    42. AutoGenerator generator = new AutoGenerator();
    43. generator.setGlobalConfig(globalConfig)
    44. .setDataSource(dsConfig)
    45. .setStrategy(strategyConfig)
    46. .setPackageInfo(packageConfig);
    47. // 6.执行
    48. generator.execute();
    49. }