1.IDEA使用EasyCode

本文使用的模板代码根据自己的需求进行了一部分调整,生成的controller只实现单表的CRUD,生成的代码基本用于后台管理。插件直接搜索下载即可
使用步骤:





对应生成的代码:

到此代码生成完毕,通常需要crud的后台管理会直接生成controller,Mapper生成用来处理一些复杂的逻辑

2.EasyCode的配置



3.Entity模板代码

##导入宏定义
$!define##保存文件(宏定义)
#save("/entity", ".java")##包路径(宏定义)
#setPackageSuffix("entity")##自动导入包(全局变量) 这里修改成了使用lombok
$!autoImport
import lombok.Getter;
import lombok.Setter;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;##表注释(宏定义)
#tableComment("表实体类")
@Getter
@Setter
@SuppressWarnings("serial")
public class $!{tableInfo.name} extends Model<$!{tableInfo.name}> {#foreach($column in $tableInfo.fullColumn)#if(${column.comment})//${column.comment}#endprivate $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end#foreach($column in $tableInfo.pkColumn)/*** 获取主键值** @return 主键值*/@Overridepublic Serializable pkVal() {return this.$!column.name;}#break
#end
}

4.Mapper层模板

##导入宏定义
$!define##设置表后缀(宏定义)
#setTableSuffix("Mapper")##保存文件(宏定义)生成文件的存储位置
#save("/mapper", "Mapper.java")##包路径(宏定义)
#setPackageSuffix("mapper")import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import $!{tableInfo.savePackageName}.entity.$!tableInfo.name;##表注释(宏定义)
#tableComment("表数据库访问层")
public interface $!{tableName} extends BaseMapper<$!tableInfo.name> {}

5.Controller层模板(主要实现单表的crud)

宏定义的配置都在这里,setClassName会在表名上增加前缀和后缀


##导入宏定义
$!define##设置类的名字(宏定义)
#setClassName("Back","Controller")##保存文件(宏定义)第一个参数是生成文件的存放地址 第二是文件名前缀 第三个是文件后缀
#saveSuffix("/back/controller", "Back","Controller.java")##包路径(宏定义)生成java文件的包路径
#setPackageSuffix("back.controller")##定义实体对象名
#set($entityName = $!tool.firstLowerCase($!tableInfo.name))import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import $!{tableInfo.savePackageName}.response.BackResponse;
import $!{tableInfo.savePackageName}.request.PageRequest;
import $!{tableInfo.savePackageName}.entity.$!tableInfo.name;
import org.springframework.web.bind.annotation.*;##表注释(宏定义)
#tableComment("表控制层")
@RestController
@RequestMapping("api/back/$!tool.firstLowerCase($!tableInfo.name)")
public class $!{className} {# PageRequest是只有current和pageSize的实体,可以根据自己的需求进行调整 $!entityName就是表对于的实体对象,使用了mybatis-plus的ActiveRecord,通过实体类实现crud@GetMapping("query")public BackResponse query($!tableInfo.name $!entityName, PageRequest request) {if ($!entityName == null) {$!entityName = new $!{tableInfo.name}();}Page<$!tableInfo.name> resultPage = $!{entityName}.selectPage(Page.of(request.getCurrent(), request.getPageSize()), Wrappers.query($!entityName));return BackResponse.success(resultPage.getRecords(), resultPage.getTotal());}@PostMapping("update")public BackResponse update($!tableInfo.name $!entityName) {$!{entityName}.updateById();return BackResponse.success();}@PostMapping("insert")public BackResponse insert($!tableInfo.name $!entityName) {$!{entityName}.insert();return BackResponse.success();}@PostMapping("delete")public BackResponse delete($!tableInfo.name $!entityName) {$!{entityName}.deleteById();return BackResponse.success();}
}

快速生成CRUD接口的神器-IDEA插件EasyCode相关推荐

  1. 开发日记-20190328 关键词 利用eolinker一键快速生成API接口文档

    今天感觉效率真的很低= =各个层面的,apk发布到现场发现出现了问题,所以一个下午都在忙着解决现场出现的问题,领导一直打电话询问进度,午觉也没有睡所以今天预计的很多计划都处于停滞状态,像昨天规划的今天 ...

  2. java fields是_一个快速生成R2.java中fields的插件

    一个快速生成R2.java中fields的插件 项目地址:github.com/JeasonWong/- 介绍 在子 module 中使用 ButterKnife 时,如果想使用 ButterKnif ...

  3. vvv在线文档导出工具_使用ApiPost工具快速生成在线接口文档

    ApiPost是一个支持团队协作,并可直接生成文档的API调试.管理工具.它支持模拟POST.GET.PUT等常见请求,是后台接口开发者或前端.接口测试人员不可多得的工具 .使用者不仅可以利用apio ...

  4. MybatisPlu自动生成CRUD接口(二)

    作为一个有一定经验开发人员,一定不希望自己每天都在做简单CRUD操作,这样其实只是在浪费自己的时间,那么有没有什么工具让我们自动生成对数据库的CRUD操作啦?答案是肯定的,下面我们就介绍下如何通过My ...

  5. 常用快速开发,快速生成CRUD

    文章目录 Entity,需要注明主键 Mapper层 CommonDao BasiccBfmMenuDao Service层 CommonService BasiccBfmMenuService Co ...

  6. 手把手教你写一个生成yapi接口代码Chrome 扩展插件

    前言 公司想开发个公众号,想在公众号里做业务,也不是做小程序,但是以后也可能做小程序.emm,就是这么随意.所以就找个到了uniapp,说是可以开发一套代码,多平台运行.开发语法还是vue,感觉也没啥 ...

  7. idea快速生成crud_Java / Spring:如何快速生成完整的Swagger文档CRUD REST API

    idea快速生成crud 作为开发人员,我们在日常生活中经常面临的最繁琐的任务之一就是编写良好且易于理解的文档. 无论我们的文档只有几行来解释功能的核心功能,还是表明系统的来龙去脉的成熟文章都没关系. ...

  8. Apipost,更懂中国程序员的接口调试神器

    Hello,大家好,我是灰小猿!一个超会写bug的程序猿! 作为一名Java后端程序猿,对接口调试简直是家常便饭,尤其是在进行接口联调的时候,往往因为和前端对接口的理解程度不同,于是乎就出现了.... ...

  9. 人人开源搭建后台管理系统 逆向工程生成CRUD代码

    一.什么是人人开源 也就是说和若依类似,都是快速帮我们开发一些简单的逻辑代码的,可以帮我们自动生成代码. 二.具体操作 我们现在就以renren-fast作为后台管理系统框架,用renren-fast ...

最新文章

  1. inotify加rsync备份mysql_centos7 实现inotify-tools + rsync,自动备份mysql数据库
  2. 8086CPU常见汇编指令、debug命令
  3. YangTools从YANG生成Java类(Maven)
  4. php跨域传sessionid,php中http与https跨域共享session的解决方法
  5. Spring+MyBatis多数据源配置实现
  6. ios 安装OpenFire
  7. 获取页面iframe里的元素
  8. rs232无线串口服务器,低成本WIFI串口服务器
  9. 计算机表格快捷键,EXCEL表格所有的快捷键《excel一键到底 快捷键》
  10. 基于银河麒麟 V10 系统安装和卸载 DM8 数据库
  11. Glide源码分析以及三级缓存原理
  12. php批量上传代码,文件批量上传_php文件上传代码(支持文件批量上传)
  13. JWT无状态登录+跨域问题
  14. Solr简介,功能,特性
  15. 【JokerのZYNQ7020】TIMER。
  16. 服务网格峰会 Service Mesh Summit 2022 重启报名
  17. 树莓派瞎折腾[1]-实现简单的命令行音乐播放器
  18. 【硬件】LED灯发光原理总结
  19. User Registration
  20. 制作一个网站前你应该了解哪些东西?怎么搭建网站?

热门文章

  1. 【让你从0到1学会C语言】指针/数组传参以及static关键字
  2. python对月饼数据进行可视化,看看哪家最划算
  3. ES8218E低功耗24位ADC芯片 可直接接麦克风
  4. Github优秀Android开源项目,值得引用与学习(图文结合~~~)
  5. 电子招投标技术的五大好处
  6. Xposed模块开发
  7. 计算机系统维护工作内容
  8. Qt C++ 录屏录音功能实现(avilib+ffmpeg)以及动态库生成
  9. 双11商超大促,竞争白热化,智慧供应链成品牌最大助力!
  10. android EditText 设置弹出数字输入法键盘