• 介绍两款代码自动生成器,帮助提升工作效率


    作者平台:

    | CSDN:blog.csdn.net/qq_41153943

    | 掘金:juejin.cn/user/651387…

    | 知乎:www.zhihu.com/people/1024…

    | GitHub:github.com/JiangXia-10…

    本文一共1683字,预计阅读10分钟

    前言

    相较于之前的springmvc框架,使用springboot开发减少了大量的配置文件的工作,能够大大提高了开发的效率。使用springboot开发如果有新的接口或者方法基本步骤大致如下:

    1、新增数据对象对应的entity;

    2、新增controller;

    3、新增dao;

    4、新增service和对应的impl类。

    每次都这样重复地去新增这些东西,工作难度不大,但是却很枯燥,也很浪费时间。有这时间摸摸鱼不香吗?

    今天就推荐两款能够大大提升工作效率(摸鱼)的神器:代码自动生产器,有些代码真的不用手写!

    一、EasyCode

    第一款推荐的是idea自带的插件---->Easy Code。EasyCode 是基于 IntelliJ IDEA 开发的代码生成插件,支持自定义任意模板(Java,html,js,xml)。只要是与数据库相关的代码都可以通过自定义模板来生成。支持数据库类型与 java 类型映射关系配置。支持同时生成生成多张表的代码。每张表有独立的配置信息。完全的个性化定义,规则由你设置。通常用于生成 Entity、Dao、Service、Controller。如果你动手能力强还可以用于生成 HTML、JS、PHP 等代码。理论上来说只要是与数据有关的代码都是可以生成的。

    Easy Code是基于 Database Tool 开发,所有 Database Tool 支持的数据库都是支持的。常见的数据库基本都是支持的。

    安装步骤如下:到iead的plugins插件市场,搜索下载easy code即可
    在这里插入图片描述

    安装完成后可以通过以下的配置进行自定义配置,一般使用默认的即可:

    图片

    然后如果需要生成具体的代码,则需要配合使用Database Tool,这里支持很多的数据库类型,这里使用的mysql:

    图片

    图片

    图片

    上述配置好了之后选择需要生成相关代码的表,选择easycode–>generate code即可

    图片

    图片

    这样所有的需要的代码就生成成功了:

    图片

    图片

    以上就是如何使用idea的easycode代码生成插件的使用!

    二、CodeGenerator

    这是一个mybatis-plus的代码生成器,直接复制下面的代码,放到项目中的一个独立的文件夹下即可,每次根据具体的需要,修改一些相关的参数值即可,具体代码以及相关的注释解释如下:

    package com.jiangxia.demo;
    
    import com.baomidou.mybatisplus.annotation.DbType;
    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.rules.DateType;
    import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
    import org.junit.Test;
    
    /**
     * @author:jiangxia
     * @since 2022/04/25
     */
    public class CodeGenerator {
        @Test
        public void run() {
            // 1、创建代码生成器
            AutoGenerator mpg = new AutoGenerator();
            // 2、全局配置
            GlobalConfig gc = new GlobalConfig();
            String projectPath = System.getProperty("user.dir");
            gc.setOutputDir(projectPath + "/src/main/java");
            gc.setAuthor("testjava");
            gc.setOpen(false); //生成后是否打开资源管理器
            gc.setFileOverride(false); //重新生成时文件是否覆盖
            gc.setServiceName("%sService");  //去掉Service接口的首字母I
            gc.setIdType(IdType.ID_WORKER); //主键策略
            gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
            gc.setSwagger2(true);//开启Swagger2模式
            mpg.setGlobalConfig(gc);
            // 3、数据源配置
            DataSourceConfig dsc = new DataSourceConfig();
            dsc.setUrl("jdbc:mysql://localhost:3306/test");
            dsc.setDriverName("om.mysql.cj.jdbc.Driver");
            dsc.setUsername("jiang");
            dsc.setPassword("jiang");
            dsc.setDbType(DbType.MYSQL);
            mpg.setDataSource(dsc);
            // 4、包配置
            PackageConfig pc = new PackageConfig();
            pc.setModuleName("codedemo"); //模块名
            pc.setParent("com.jiangxia.demo");//哪个包下
            pc.setController("controller");//comtroller
            pc.setEntity("entity");//entity
            pc.setService("service");//service
            pc.setMapper("mapper");//mapper
            mpg.setPackageInfo(pc);
            // 5、策略配置
            StrategyConfig strategy = new StrategyConfig();
            strategy.setInclude("user");
            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();
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68

    上述代码的设置每次只需要修改具体的数据库以及对应表即可。执行上述代码后即可生成对应的controller、entity等代码,减少了大量的创建工作。

    总结

    以上就是两种代码自动生成工具,可以根据自己的实际情况和需要选择使用,这样能够大大减少每次不必要的工作量,提高工作效率,早点完成工作,早点下班!

    如果你觉得有用,就点赞转发给更多的小伙伴吧!

    如果大家还有什么其他好用的的代码自动生成工具,欢迎介绍,推荐!

    相关推荐

  • 相关阅读:
    麒麟KYSEC使用方法02-开启及关闭exectl
    Chrome的使用技巧
    数巅科技联合长江计算打造AskBot企业智能问答一体机
    使用 Grafana 使用JSON API 请求本地接口 报错 bad gateway(502)解决
    扩展-Hooks
    webSocket推送太快导致前端渲染卡顿问题优化
    【BUG修复日志】Anaconda + VSCode 编码错误
    Unity设计模式——模板模式
    从FT的性质上理解幅度调制与频谱搬移
    图像运算和图像增强六
  • 原文地址:https://blog.csdn.net/qq_41153943/article/details/125548802