代码如下: 

   代码自动生成器 ,自动的帮我们生成了pojo实体类,dao层 ,service层,极大的增加了我们开发软件的效率。

package com.yyf;


import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

import java.net.NetworkInterface;
import java.util.ArrayList;

// 代码自动生成器
public class YyfAutoCode {
    public static void main(String[] args) {
    //     需要构建一个代码自动 生成器对象
        AutoGenerator mpg = new AutoGenerator ();
        //  配置策略

        //1. 全局配置
        GlobalConfig gc = new GlobalConfig ();
         // 获取系统目录   当前的项目路径
        String projectPath = System.getProperty ("user.dir");
        //   设置输出目录
        gc.setOutputDir(projectPath+"/src/main/java");
        // 设置作者注释
        gc.setAuthor ("杨小法");
        // 是否打开资源管理器
        gc.setOpen (false);
        // 是否文件覆盖原来生成的
        gc.setFileOverride (false);  //
        //   去service 的I前缀
         gc.setServiceName ("%sService");
        // 设置ID类型
        gc.setIdType (IdType.ID_WORKER);
        //  设置日期类型
        gc.setDateType (DateType.ONLY_DATE);
        // 是否设置swagger 文档
        gc.setSwagger2 (true);

        // 全局配置
        mpg.setGlobalConfig(gc);
        // 2. 数据源的配置
        DataSourceConfig dsc = new DataSourceConfig ();
          dsc.setUrl ("jdbc:mysql://localhost:3306/mybtis-plus?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8");
           dsc.setDriverName ("com.mysql.cj.jdbc.Driver");
          dsc.setUsername ("root");
          dsc.setPassword ("root");
          // 数据库的类型
         dsc.setDbType (DbType.MYSQL);
        //  设置数据源
        mpg.setDataSource (dsc);

        // 3. 包的配置
        PackageConfig pc = new PackageConfig ();
        pc.setModuleName ("blog");
        pc.setEntity ("pojo");
        pc.setParent ("com.yyf");
        pc.setController ("controller");
        pc.setMapper ("mapper");
        pc.setService ("service");
        mpg.setPackageInfo (pc);

        //4. 策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setNaming(NamingStrategy.underline_to_camel);
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
        strategy.setSuperEntityClass("你自己的父类实体,没有就不用设置!");
        strategy.setEntityLombokModel(true);
        // 逻辑删除 字段
        strategy.setLogicDeleteFieldName ("deleted");
     //    自动填充 配置
        TableFill gmtCreate = new TableFill ("gmt_create", FieldFill.INSERT);
        TableFill gmtModified = new TableFill ("gmt_modified", FieldFill.UPDATE);

        ArrayList<TableFill> tableFills = new ArrayList<> ();
        tableFills.add (gmtCreate);
        tableFills.add (gmtModified);
        strategy.setTableFillList (tableFills);

        //     乐观锁
         strategy.setVersionFieldName ("version");

         strategy.setRestControllerStyle (true);
         strategy.setControllerMappingHyphenStyle (true);   // localhost:8080/hello_id_2
        mpg.setStrategy (strategy);

        mpg.execute ();  //去执行
    }
}

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐