今天跟大家说一个用着非常爽,且极大提高开发效率神器;再也不用熬夜加班去写一个个重复对应的controller、entity、mapper、service、impl,包括注释、可以注释作者名、时间等等。
特有趣,且非常强大的 mybatis-plus,除了常用的核心功能分页插件外,它还有一个特 骚 强的核心功能就是今天的主题:代码自动生成器。
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
开始跑起来
导入pom.xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
奉献所有代码,如果有什么问题底下评论见,没有的话也记得点个赞,关注一下也是极好的
要注意两个关键点:
- 要改成自己的数据库名:
jdbc:mysql://localhost:3306/自己的数据库名
config.setUrl("jdbc:mysql://localhost:3306/miniprogram_admin?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT");
config.setDriverName("com.mysql.cj.jdbc.Driver");
- 设置要映射表名
strategyConfig.setInclude("banner");//设置要映射表名
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
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.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.ArrayList;
public class Code {
public static void main(String[] args) {
//构建一个代码自动生成器对象
AutoGenerator mpg = new AutoGenerator();
//1、全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir(projectPath+"/src/main/java");
gc.setAuthor("一颗剽悍的种子");
gc.setServiceName("%sService");
//是否覆盖已有文件
gc.setFileOverride(false);
gc.setIdType(IdType.ID_WORKER);
gc.setDateType(DateType.ONLY_DATE);
mpg.setGlobalConfig(gc);
//2、设置数据源
DataSourceConfig config = new DataSourceConfig();
config.setUrl("jdbc:mysql://localhost:3306/miniprogram_admin?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT");
config.setDriverName("com.mysql.cj.jdbc.Driver");
config.setUsername("root");
config.setPassword("123");
config.setDbType(DbType.MYSQL);
mpg.setDataSource(config);
//3、包的配置
PackageConfig pc = new PackageConfig();
pc.setModuleName("com");
pc.setParent("com");
pc.setEntity("entity");
pc.setMapper("mapper");
pc.setService("service");
pc.setController("controller");
mpg.setPackageInfo(pc);
//4、策略配置
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setInclude("banner");//设置要映射表名
strategyConfig.setNaming(NamingStrategy.underline_to_camel);
strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
//自动填充配置
TableFill create = new TableFill("create", FieldFill.INSERT);
TableFill modified = new TableFill("modified", FieldFill.INSERT_UPDATE);
ArrayList<TableFill> tableFills = new ArrayList<>();
tableFills.add(create);
tableFills.add(modified);
strategyConfig.setTableFillList(tableFills);
strategyConfig.setRestControllerStyle(true);
mpg.setStrategy(strategyConfig);
//执行生成
mpg.execute();
}
}
激动人心的时候,点击触发
生成包
生成对应的controller、entity、mapper、service、impl以及注释
最后:
为了更好的阅读体验,我把想说的话都放在了下面,嘿嘿。
我是一颗剽悍的种子 把我会的,认真的分享 是我写博客一直不变的信条。
如果你能看到这篇博文,说明咱们还是很有缘的;希望能带给你一些许帮助,创作的不易, 把我文章的知识带走,你的三连留下,点赞,评论,关注,是我最大的动力。