MyBatis-Plus代碼生成器


代碼生成器

AutoGenerator 是 MyBatis-Plus 的代碼生成器,通過 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各個模塊的代碼,極大的提升了開發效率。

參考

public static void main(String[] args) {
    AutoGenerator generator = new AutoGenerator();
    //1.全局配置
    GlobalConfig config = new GlobalConfig();
    //獲取項目路徑
    String path = System.getProperty("user.dir");
    //設置代碼輸出目錄
    config.setOutputDir(path + "/src/main/java");
    //設置作者
    config.setAuthor("楓葉");
    //去除servicesI前綴
    config.setServiceName("%sService");
    //主鍵生成策略使用雪花算法
    config.setIdType(IdType.ASSIGN_ID);
    //使用Swagger2
    config.setSwagger2(true);
    generator.setGlobalConfig(config);

    //2.設置數據源
    DataSourceConfig dsc = new DataSourceConfig();
    dsc.setDbType(DbType.MYSQL);
    dsc.setUrl("jdbc:mysql://www.maplexl.xyz:3306/db2020?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8");
    dsc.setUsername("MyDream");
    dsc.setPassword("maple1234");
    dsc.setDriverName("com.mysql.cj.jdbc.Driver");
    generator.setDataSource(dsc);

    //3.設置包名
    PackageConfig packageConfig = new PackageConfig();
    packageConfig.setModuleName("mybatisplus");
    packageConfig.setParent("com.maple");
    //設置Entity包名,默認是entity
    packageConfig.setEntity("pojo");
    generator.setPackageInfo(packageConfig);

    //4.策略設置
    StrategyConfig strategyConfig = new StrategyConfig();
    //設置要映射的表名,參數為String... include
    strategyConfig.setInclude("user");
    //設置下划線轉駝峰
    strategyConfig.setNaming(NamingStrategy.underline_to_camel);
    strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
    //自動Lombok
    strategyConfig.setEntityLombokModel(true);
    //設置邏輯刪除列
    strategyConfig.setLogicDeleteFieldName("is_deleted");
    //自動填充配置
    TableFill gmt_create = new TableFill("gmt_create", FieldFill.INSERT);
    TableFill gmt_modify = new TableFill("gmt_modify", FieldFill.INSERT_UPDATE);
    ArrayList<TableFill> tableFills = new ArrayList<>();
    tableFills.add(gmt_create);
    tableFills.add(gmt_modify);
    strategyConfig.setTableFillList(tableFills);
    //樂觀鎖
    strategyConfig.setVersionFieldName("version");
    strategyConfig.setRestControllerStyle(true);
    strategyConfig.setControllerMappingHyphenStyle(true);

    generator.setStrategy(strategyConfig);

    generator.execute();
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM