MyBatis-Plus代码生成器的使用详解

1.引入依赖

<!--mybatisplus依赖-->
  <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-boot-starter</artifactId>
      <version>3.0.5</version>
    </dependency>
    <!--代码生成模板-->
    <dependency>
      <groupId>org.apache.velocity</groupId>
      <artifactId>velocity-engine-core</artifactId>
      <version>2.0</version>
    </dependency>

2.生成器代码

public class CodeEasy {
  public static void main(String[] args) {

    //创建代码生成器对象
    AutoGenerator autoGenerator=new AutoGenerator();
    
    // 1.全局配置
    GlobalConfig globalConfig=new GlobalConfig();
    
    globalConfig.setActiveRecord(true)//是否支持AR模式
          .setAuthor("wsy")//作者
          .setOutputDir("G://MybatisPlus/mybatisplus/src/main/java")//生成路径
          .setOpen(false)//是否打开资源管理器
          .setFileOverride(true)//生成文件覆盖
          .setIdType(IdType.AUTO)//主键策略
          .setServiceName("%sService")//设置生成service接口的名字首字母是否为I
          .setDateType(DateType.ONLY_DATE);
    autoGenerator.setGlobalConfig(globalConfig);

    //2.设置数据源
    DataSourceConfig dsc=new DataSourceConfig();
    dsc.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&characterEncoding=UTF-8");
    dsc.setDriverName("com.mysql.cj.jdbc.Driver");
    dsc.setUsername("root");
    dsc.setPassword("root");
    dsc.setDbType(DbType.MYSQL);
    autoGenerator.setDataSource(dsc);


    //3.包的配置
    PackageConfig pc=new PackageConfig();
   // pc.setModuleName("mybatisplus");//设置模块名
    pc.setParent("com.sise");
    pc.setEntity("bean");
    pc.setMapper("mapper");
    pc.setService("service");
    pc.setController("controller");
    autoGenerator.setPackageInfo(pc);

    //4.策略配置
    StrategyConfig strategy = new StrategyConfig();
    strategy.setInclude("user"); // 设置要映射的表名
    strategy.setNaming(NamingStrategy.underline_to_camel);//设置命名规则,允许驼峰命名
    strategy.setColumnNaming(NamingStrategy.underline_to_camel);//设置命名规则,允许列驼峰命名
    strategy.setEntityLombokModel(true); // 自动lombok;
    strategy.setLogicDeleteFieldName("deleted");//设置逻辑删除的名字
    // 自动填充配置
    TableFill gmtCreate = new TableFill("gmt_create", FieldFill.INSERT);//设置自动填充创建时间
    TableFill gmtModified = new TableFill("gmt_modified",FieldFill.INSERT_UPDATE);//设置自动填充修改时间
    ArrayList<TableFill> tableFills = new ArrayList<>();
    tableFills.add(gmtCreate);
    tableFills.add(gmtModified);
    strategy.setTableFillList(tableFills);
    // 乐观锁
    strategy.setVersionFieldName("version");
    strategy.setRestControllerStyle(true);//controller层使用rest风格
    strategy.setControllerMappingHyphenStyle(true); //localhost:8080/hello_id_2
    autoGenerator.setStrategy(strategy);

    autoGenerator.execute();

  }
}

3.运行后生成的结果

DDF2C234-A74A-FBB9-972A-4907D8E97B81.png

收藏 (0)
评论列表
正在载入评论列表...
我是有底线的