代码生成器

Mybatis Generator

  • 使用xml配置文件形式自动生成
  • 只生成实体类、mapper接口及mapper.xml。并且包含丰富的内容
  • 首先添加mybatis依赖和相关插件

          org.mybatis
          mybatis
          3.5.7

              org.mybatis.generator
              mybatis-generator-maven-plugin
              1.3.0

                      org.mybatis.generator
                      mybatis-generator-core
                      1.3.2

                      com.mchange
                      c3p0
                      0.9.2

                      mysql
                      mysql-connector-java
                      5.1.8

  • 创建generatorConfig.xml配置文件,从官网中复制下来即可.其中元素标签说明卸载注释中

  • 最后在右边点击maven中插件,双击mybatis-generator:generate
  • 说明:上述两个配置文件都会报红,不用管尽管运行即可

MybatisPlus Generator

  • 使用代码形式自动生成
  • 会生成从Controller层到Dao层的所有文件,其中还包括实体类
  • 首先添加必须的依赖

    com.baomidou
    mybatis-plus-boot-starter
    3.0.5

    org.apache.velocity
    velocity-engine-core
    2.0

    org.projectlombok
    lombok
    1.18.20

  • 这里是在单元测试中运行
public class GeneratorTest{
  @Test
  public void run() {

    // 1、创建代码生成器
    AutoGenerator mpg = new AutoGenerator();

    // 2、全局配置
    GlobalConfig gc = new GlobalConfig();
    String projectPath = System.getProperty("user.dir");
    // 换成绝对路径
    gc.setOutputDir("your project absolute path" + "/src/main/java");
    gc.setAuthor("xsha_h");
    gc.setOpen(false); //生成后是否打开资源管理器
    gc.setFileOverride(false); //重新生成时文件是否覆盖
    gc.setServiceName("%sService"); //去掉Service接口的首字母I
    gc.setIdType(IdType.ID_WORKER_STR); //主键策略
    gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
    gc.setSwagger2(true);//开启Swagger2模式

    mpg.setGlobalConfig(gc);

    // 3、数据源配置
    DataSourceConfig dsc = new DataSourceConfig();

    dsc.setUrl("jdbc:mysql:///database_name?serviceTimezone=GMT%2B8");
    dsc.setDriverName("com.mysql.cj.jdbc.Driver");
    dsc.setUsername("username");
    dsc.setPassword("password");
    dsc.setDbType(DbType.MYSQL);
    mpg.setDataSource(dsc);

    // 4、包配置
    PackageConfig pc = new PackageConfig();

    // 包名  com.xsha.module_name
    pc.setParent("com.xsha");
    pc.setModuleName("module_name"); //模块名
    pc.setController("controller");
    pc.setEntity("entity");
    pc.setService("service");
    pc.setMapper("mapper");
    mpg.setPackageInfo(pc);

    // 5、策略配置
    StrategyConfig strategy = new StrategyConfig();

    // 生成表格名称对应的实体类
    strategy.setInclude("table_name1", "table_name2", "table_name3", "table_name4");
    strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
    strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀(根据需求变化)

    strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
    strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作

    strategy.setRestControllerStyle(true); //restful api风格控制器
    strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符

    mpg.setStrategy(strategy);

    // 6、执行
    mpg.execute();
  }
}
  • 运行即可生效

Original: https://www.cnblogs.com/aitiknowledge/p/16504775.html
Author: xsha_h
Title: 代码生成器

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/644027/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球