dao、pojo、service、controller都自动编写完成

    AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。

    测试:
    image.png

    1. package com.cedric.mybatisplus;
    2. import com.baomidou.mybatisplus.annotation.DbType;
    3. import com.baomidou.mybatisplus.annotation.FieldFill;
    4. import com.baomidou.mybatisplus.annotation.IdType;
    5. import com.baomidou.mybatisplus.annotation.TableField;
    6. import com.baomidou.mybatisplus.generator.AutoGenerator;
    7. import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
    8. import com.baomidou.mybatisplus.generator.config.GlobalConfig;
    9. import com.baomidou.mybatisplus.generator.config.PackageConfig;
    10. import com.baomidou.mybatisplus.generator.config.StrategyConfig;
    11. import com.baomidou.mybatisplus.generator.config.po.TableFill;
    12. import com.baomidou.mybatisplus.generator.config.rules.DateType;
    13. import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
    14. import java.util.ArrayList;
    15. // 代码自动生成器
    16. public class yddCode {
    17. public static void main(String[] args) {
    18. // 构建一个 代码自动生成器 对象
    19. AutoGenerator mpg = new AutoGenerator();
    20. // 配置策略
    21. // 1、全局配置
    22. GlobalConfig gc = new GlobalConfig();
    23. String projectPath = System.getProperty("user.dir");
    24. gc.setOutputDir(projectPath + "/src/main/java");
    25. gc.setAuthor("Cedric");
    26. gc.setOpen(false);
    27. gc.setFileOverride(false); // 是否覆盖
    28. gc.setServiceName("%sService"); // 去Service的I前缀
    29. gc.setIdType(IdType.ID_WORKER);
    30. gc.setDateType(DateType.ONLY_DATE);
    31. mpg.setGlobalConfig(gc);
    32. // 2、设置数据源
    33. DataSourceConfig dsc = new DataSourceConfig();
    34. dsc.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8");
    35. dsc.setDriverName("com.mysql.cj.jdbc.Driver");
    36. dsc.setUsername("root");
    37. dsc.setPassword("cedric1010");
    38. dsc.setDbType(DbType.MYSQL);
    39. mpg.setDataSource(dsc);
    40. // 3、包的配置
    41. PackageConfig pc = new PackageConfig();
    42. pc.setModuleName("ydd");
    43. pc.setParent("com.cedric.mybatisplus");
    44. pc.setEntity("entity");
    45. pc.setMapper("mapper");
    46. pc.setService("service");
    47. pc.setController("controller");
    48. mpg.setPackageInfo(pc);
    49. // 4、策略配置
    50. StrategyConfig strategy = new StrategyConfig();
    51. strategy.setInclude("user"); // 设置要映射到表名
    52. strategy.setNaming(NamingStrategy.underline_to_camel);
    53. strategy.setColumnNaming(NamingStrategy.underline_to_camel);
    54. strategy.setEntityLombokModel(true); // 自动Lombok
    55. strategy.setLogicDeleteFieldName("deleted");
    56. // 自动填充配置
    57. TableFill createTime = new TableFill("create_time", FieldFill.INSERT);
    58. TableFill updateTime = new TableFill("update_time", FieldFill.INSERT_UPDATE);
    59. ArrayList<TableFill> tableFills = new ArrayList<>();
    60. tableFills.add(createTime);
    61. tableFills.add(updateTime);
    62. strategy.setTableFillList(tableFills);
    63. // 乐观锁
    64. strategy.setVersionFieldName("version");
    65. strategy.setRestControllerStyle(true);
    66. strategy.setControllerMappingHyphenStyle(true);
    67. mpg.setStrategy(strategy);
    68. mpg.execute(); //执行代码构造器
    69. }
    70. }