当前位置: 首页 > news >正文

简易版 | 代码生成器(包含插件)

一、代码生成器

先导入依赖

<!-- Mybatis-Plus -->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.6</version>
</dependency><!-- 代码生成器 -->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.6</version>
</dependency><!-- 其他依赖 -->
<dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.31</version>
</dependency>
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version>
</dependency>
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version>
</dependency>
<!-- 加载数据库驱动 -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version>
</dependency>

写入application.yaml 文件的配置

# 加载驱动
datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/blog?allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8username: rootpassword: Qwer1234

编写代码生成器类

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import com.mysql.cj.protocol.Resultset;import java.sql.*;
import java.util.Collections;public class CodeGenerator {public static final String URL = "jdbc:mysql://localhost:3306/blog?allowPublicKeyRetrieval=true";public static final String[] arrStr = {// 这里是对应的数据库"ad","ad_type","article","article_tag","article_tag_list","comment","comment_reply","link","user"};public static void main(String[] args) throws SQLException {for (int i = 0; i < arrStr.length; i++) {int finalI = i;FastAutoGenerator.create(URL, "root", "Qwer1234").globalConfig(builder -> {builder.author("XIAOMIE") // 设置作者.enableSwagger() // 开启swagger模式.outputDir("src\\main\\java\\"); // 指定输出目录}).packageConfig(builder -> {builder.parent("com.blog") // 设置父包名aa.moduleName(null) // 设置父包模块名.pathInfo(Collections.singletonMap(OutputFile.xml, "src/main/resources/mapper")); // 设置mapperXml生成路径}).strategyConfig(builder -> {builder.entityBuilder().enableLombok(); // 使用lombokbuilder.controllerBuilder().enableRestStyle(); // 开启生成@RestController控制器builder.addInclude(arrStr[finalI]); // 设置需要生成的表名}).templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板.execute();}}
}

效果图


二、插件 EasyCode


添加数据库输入账号密码


选出想要的数据库

多选数据表 后 右击生成

都生成了但不是我们想要的格式

(重点来了)

可以看到支持自定义模板 而且模板还可以导出呢

(到底了~关注 攻粽号 wmcode 有你想要的)

http://www.lryc.cn/news/375454.html

相关文章:

  • 【Python】Redis数据库
  • 理解并应用:JavaScript响应式编程与事件驱动编程的差异
  • 第4天:用户认证系统实现
  • PostgreSQL源码分析 —— FunctionScan
  • 数据结构-十大排序算法集合(四万字精讲集合)
  • SpringBoot三层架构
  • uniapp微信小程序局部刷新,无感刷新,修改哪条数据刷新哪条
  • golan的雪花id
  • RK3568 CAN波特率500K接收数据导致CPU4满载
  • AI实战 | 使用元器打造浪漫仪式小管家
  • 什么是隐马尔可夫模型?
  • qt中使用qsqlite连接数据库,却没有在本地文件夹中生成db文件
  • Django的‘通用视图TemplateView’
  • java功能实现在某个时间范围之内输出true,不在某个范围输出false,时间精确到分钟
  • macbook屏幕录制技巧,这2个方法请你收好
  • vue-loader
  • IO系列(十) -TCP 滑动窗口原理介绍(上)
  • IPython 使用技巧整理
  • Python 引入中文py文件
  • qt 实现模拟实际物体带速度的移动(水平、垂直、斜角度)——————附带完整代码
  • 驱动开发(三):内核层控制硬件层
  • 企业邮箱大附件无法上传?无法确认接收状态?这样解决就行
  • Kotlin 数据类(Data Class)
  • gridview自带编辑功能如何判断用户修改的值的合法性
  • 设计模式-结构型-06-桥接模式
  • 安泰电压放大器的选型原则是什么
  • 方法分享 |公网IP怎么指定非433端口实现https访问
  • vue实现拖拽元素;vuedraggable拖拽插件
  • Javascript介绍
  • 毕业答辩PPT:如何在短时间内高效准备?