前言
相较于之前的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();
}
}
上述代码的设置每次只需要修改具体的数据库以及对应表即可。执行上述代码后即可生成对应的controller、entity等代码,减少了大量的创建工作。
总结
以上就是两种代码自动生成工具,可以根据自己的实际情况和需要选择使用,这样能够大大减少每次不必要的工作量,提高工作效率,早点完成工作,早点下班!