• Mybatis-Plus系列---【代码生成器】


    1.引入pom依赖

    <!--我的是springCloud项目,这个放在了fast-service的pom文件中-->
    <dependency>
       <groupId>com.baomidou</groupId>
           <artifactId>mybatis-plus-boot-starter</artifactId>
           <version>3.4.3.4</version>
    </dependency>
    <!--上边的依赖包含这个生成器,若只是想用代码生成,引入这个包就行-->
    <dependency>
           <groupId>com.baomidou</groupId>
           <artifactId>mybatis-plus-generator</artifactId>
           <version>3.4.1</version>
    </dependency>
    <!--我的是springCloud项目,这个放在了fast-service的pom文件中,MyBatis-Plus 支持 Velocity(默认)-->
    <dependency>
           <groupId>org.apache.velocity</groupId>
           <artifactId>velocity-engine-core</artifactId>
           <version>2.3</version>
    </dependency>

    2.代码配置类

    public class Generator {
        public static void main(String[] args) {
            // 代码生成器
            AutoGenerator mpg = new AutoGenerator();
    
            // 全局配置
            GlobalConfig gc = new GlobalConfig();
            String projectPath = System.getProperty("user.dir");
            gc.setOutputDir(projectPath + "/fast-service-api/fast-system-api/src/main/java");
            gc.setAuthor("hujunwei");
            //生成后是否打开资源管理器
            gc.setOpen(false);
            //重新生成文件时是否覆盖
            gc.setFileOverride(true);
            //去掉Service接口的首字母
            gc.setServiceName("%sService");
            //主键策略
            gc.setIdType(IdType.ID_WORKER);
            //定义生成的实体类中日期类型
            gc.setDateType(DateType.TIME_PACK);
            //开启swagger2模式
            gc.setSwagger2(true);
            mpg.setGlobalConfig(gc);
    
            // 数据源配置
            DataSourceConfig dsc = new DataSourceConfig();
            dsc.setUrl("jdbc:mysql://192.168.26.127:33306/fast-system?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);
    
            // 包配置
            PackageConfig pc = new PackageConfig();
            //模块名
            pc.setModuleName(null);
            //模块下java包下的包路径
            pc.setParent("com.system");
            pc.setEntity("entity");
            mpg.setPackageInfo(pc);
    
            // 策略配置
            StrategyConfig strategy = new StrategyConfig();
            //对哪些表生成代码,多个用逗号隔开,把这句话注掉则默认生成所有表
    //        strategy.setInclude("user");
            //数据库表名转实体:下划线转驼峰
            strategy.setNaming(NamingStrategy.underline_to_camel);
            //数据库表字段名转实体:下划线转驼峰
            strategy.setColumnNaming(NamingStrategy.underline_to_camel);
            //生成实体时,去掉表前缀
            strategy.setTablePrefix("fast_system_");
            //lombok 模型 @Accessors(chain = true) setter链式操作
            strategy.setEntityLombokModel(true);
            //restful api风格控制器
            strategy.setRestControllerStyle(true);
            //url中驼峰转下划线
            strategy.setControllerMappingHyphenStyle(true);
            //设置自动填充字段
            List<TableFill> tableFillList = new ArrayList<>();
            tableFillList.add(new TableFill("update_by", FieldFill.INSERT_UPDATE));
            tableFillList.add(new TableFill("update_time", FieldFill.INSERT_UPDATE));
            tableFillList.add(new TableFill("create_by", FieldFill.INSERT));
            tableFillList.add(new TableFill("create_time", FieldFill.INSERT));
            tableFillList.add(new TableFill("status", FieldFill.INSERT));
            tableFillList.add(new TableFill("is_deleted", FieldFill.INSERT));
            strategy.setTableFillList(tableFillList);
            mpg.setStrategy(strategy);
    //        mpg.setTemplateEngine(new FreemarkerTemplateEngine());
            mpg.execute();
        }
    }

    3.备用模板

    <dependency>
        <groupId>org.freemarker</groupId>
        <artifactId>freemarker</artifactId>
        <version>2.3.30</version>
    </dependency>
    
    <!-- https://mvnrepository.com/artifact/com.ibeetl/beetl -->
    <dependency>
        <groupId>com.ibeetl</groupId>
        <artifactId>beetl</artifactId>
        <version>3.1.3.RELEASE</version>
    </dependency>
    愿你走出半生,归来仍是少年!
  • 相关阅读:
    css实现文字渐变
    mySql中Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre的问题
    mysql不等于判断时,空值过滤问题
    SpringBoot中maven打包,启动报没有主清单属性
    MySQL插入数据时报错Cause: java.sql.SQLException: #HY000的解决方法
    SpringCloud中Feign服务调用请求方式及参数总结
    linux查看占用端口号的程序及pid
    Ant Design Pro 改变默认启动端口号
    启动jar包并生成日志的linux脚本
    JavaWeb中验证码校验的功能实现
  • 原文地址:https://www.cnblogs.com/hujunwei/p/15506339.html
Copyright © 2020-2023  润新知