mybatis_plus代码生成器

Posted 暴躁的程序猿啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis_plus代码生成器相关的知识,希望对你有一定的参考价值。

使用mybatis_plus代码生成器 需要导入包

代码生成器依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.4.1</version>
</dependency>

引擎模板依赖

 <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.0</version>
        </dependency>

使用时只需要把
strategy.setInclude(“user”);
user 换成自己的表名

/**
 * 代码自动生成器
 * @create: 2021/7/24
 * @author: Tony Stark
 */
public class FeiCode {
    public static void main(String[] args) {
        //需要构建一个   代码生成器对象
        AutoGenerator autoGenerator = new AutoGenerator();
        //全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        //当前项目路径
        String property = System.getProperty("user.dir");
        //代码生成的地方
        globalConfig.setOutputDir(property+"/src/main/java");
        //作者
        globalConfig.setAuthor("阿飞");
        //是否打开资源管理器
        globalConfig.setOpen(false);
        //是否覆盖
        globalConfig.setFileOverride(false);
        //去service的I前缀
        globalConfig.setServiceName("%sService");
        //主键类型
        globalConfig.setIdType(IdType.ID_WORKER);
        //日期类型
        globalConfig.setDateType(DateType.ONLY_DATE);
        //设置swagger文档
        globalConfig.setSwagger2(true);
        //配置放进自动生成器中
        autoGenerator.setGlobalConfig(globalConfig);

        //设置数据源
        DataSourceConfig config = new DataSourceConfig();
        config.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=utf8&userSSL=true");
        config.setDriverName("com.mysql.jdbc.Driver");
        config.setUsername("root");
        config.setPassword("12345");
        config.setDbType(DbType.MYSQL);
        autoGenerator.setDataSource(config);
        //配置包
        PackageConfig packageConfig = new PackageConfig();
        //实体包名
        packageConfig.setEntity("pojo");
        //controller包名
        packageConfig.setController("controller");
        //service包名
        packageConfig.setService("service");
        packageConfig.setServiceImpl("serviceImpl");
        //dao接口包名
        packageConfig.setMapper("dao");
        //接口映射xml文件包
        packageConfig.setXml("dao.xml");
        //模块名
        packageConfig.setModuleName("test");
        packageConfig.setParent("com.rpf");
        //设置包的配置
        autoGenerator.setPackageInfo(packageConfig);
        // 策略配置
        StrategyConfig strategy = new StrategyConfig();
        //设置要映射的表名
        strategy.setInclude("user");
        //数据库表映射到实体的命名策略  驼峰
        strategy.setNaming(NamingStrategy.underline_to_camel);
        //数据库表字段映射到实体的命名策略, 未指定按照 naming 执行
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
//        strategy.setSuperEntityClass("你自己的父类实体,没有就不用设置!");
        strategy.setEntityLombokModel(true);
        //生成 @RestController 控制器
        strategy.setRestControllerStyle(true);
        //是否生成实体时,生成字段注解
        strategy.entityTableFieldAnnotationEnable(true);
        //加上Lombok注解
        strategy.setEntityLombokModel(true);
        //逻辑删除
        strategy.setLogicDeleteFieldName("deleted");
        //自动填充配置
        TableFill gmt_creat = new TableFill("gmt_creat", FieldFill.INSERT);
        TableFill gmt_modified = new TableFill("gmt_modified", FieldFill.UPDATE);
        ArrayList<TableFill> list = new ArrayList<>();
        list.add(gmt_creat);
        list.add(gmt_modified);
        //设置自动填充配置
        strategy.setTableFillList(list);
        //设置乐观锁
        strategy.setVersionFieldName("version");
        //设置驼峰命名
        strategy.setRestControllerStyle(true);

        //设置策略
        autoGenerator.setStrategy(strategy);
        //执行
        autoGenerator.execute();
    }
}

效果


以上是关于mybatis_plus代码生成器的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis_Plus学习用法一

postman 自动生成 curl 代码片段

postman 自动生成 curl 代码片段

前端开发工具vscode如何快速生成代码片段

前端开发工具vscode如何快速生成代码片段

Apollo Codegen 没有找到生成代码的操作或片段