swagger连接mysql数据库_EasyCode实现数据库到Swagger全自动化

本文介绍了如何使用EasyCode这款IntelliJ IDEA插件,实现从数据库到Swagger的自动化配置。通过连接数据库,配置模板,可以一键生成包括Entity、Mapper、Service、Controller在内的代码,并利用数据库字段的注释自动生成Swagger的API文档,简化开发流程。
摘要由CSDN通过智能技术生成

简介

EasyCode是基于IntelliJ IDEA开发的代码生成插件,通过自定义生成模板可以完成定制化的 Mapper Service Controller 生成,结合数据库 Comment还可以实现从数据库到 Swagger 的一键配置,非常的强大与方便,项目地址:EasyCode--码云 这里推荐大家使用

安装

和一般的Idea插件安装方式一样,点击 File -> Setting -> Plugins 搜索 EasyCode 点击 Install 安装即可,安装之后需要重启,当然如果是Idea最新的2019.3版本支持插件热安装就不需要重启了。

ac6f88aaea68388c355ae300185da4e0.png

连接数据库

安装之后需要使用Idea连接数据库,在Idea的右侧有个DataBase选项卡,点击之后选择对应的数据库。这边我使用的是 Mysql 数据库

3db3605f9246b7249732fb11cb06c6db.png

配置好连接名称,连接路径,账号密码和数据库测试连接,测试通过后点击OK,就可以成功的连接到数据库,这里Idea的数据库图形化界面做的也挺好的。

fc8e7a936f45be89a7bb011d0c33209e.png

配置EasyCode的模板

1. 配置作者名称

同样是 File -> Settings -> other Settings 选择 EasyCode 或者直接搜索 EasyCode 进行编辑,首先键入作者名称,这样在生成的类上面就会加上你的名字,时间等信息。

5bc1a2d864f6824b29ca7d3de1bb9cb1.png

2. Type Manager 映射类型管理

此页面是用来建立数据库字段类型与Java变量类型关系的,其中已经预先定义好了很多对应关系,但对于 tinyint((\d+))? unsigned (无符号的byte)类型却没有进行预定义,如果不进行手动配置,在进行逆向生成的时候会将其映射成 Java Object 类型,所以需要我们进行手动的添加关联关系

4e868f6852bd0f87df2ca4ed0afa8540.png

3. Template Setting 模板设置

6e146beeb9ddd732bf9ed2f95f6e6d0f.png

这个页面就是我们主要需要配置的页面了,我们可以自己新建一个模板组,也可以直接在原来模板文件的基础上进行修改。这里我已经对原有的模板进行了自定义的修改,保留了 entity.java mapper.java mapper.xml service.java controller.java 去掉了原有的 dao serviceImpl.具体的模板内容如下,需要的朋友可以直接复制修改。

当然也可以点击配置作者名称页面的导入模板按钮,输入对应的 Token 进行一键替换由于token只能保持6个小时,所以我就不在这里贴上了。

entity.java

实体类模板改动如下

删除了原本的 Getter/Setter 采用 lombok 的 @Data 注解替换之

类添加 @ApiModel("$tableInfo.comment") 注解,读取 Mysql 中表的注释作为类在Swagger中的解释

字段添加 @ApiModelProperty("$column.comment") 注解,读取 Mysql 中字段的注释作为对应参数在Swagger中的注释

##引入宏定义

$!define

##使用宏定义设置回调(保存位置与文件后缀)

#save("/entity", ".java")

##使用宏定义设置包后缀

#setPackageSuffix("entity")

##使用全局变量实现默认包导入

$!autoImport

import java.io.Serializable;

import io.swagger.annotations.*;

import lombok.Data;

##使用宏定义实现类注释信息

#tableComment("实体类")

@Data

@ApiModel("$tableInfo.comment")

public class $!{tableInfo.name} implements Serializable {

private static final long serialVersionUID = $!tool.serial();

#foreach($column in $tabl

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值