首先问自己一个问题:测试代码的时候用postman和yapi用的是不是very 不爽?数据库设计好了每次都要写无聊的Object是不是很无奈?今天你!可!以!摸!鱼!

一、easy api

安装教程我就不详细写了,我主要参考了这里

shift+Alt+E一键到处到yapi简直不要太爽

二、easy code

安装教程我也就不写了,网上很多,倒是这个配置模板需要搞一下,我这里只记录一下自己开放习惯的配置,可以自行参考。

本来不用easyCode,之前使用mybatisPlus自动生成代码进行配置,但是每次都要改动代码才能生成对应的表就不是很方便。并且mybatisPlus生成的xml是在mapper包下而不是在resource中,下面使用easy code插件配置:

1、约定生成的Entity在bean.po包下(文件名:ObjectPo)

2、约定生成的Dao在mapper包下(文件名:ObjectMapper)

3、Service和ServiceImpl(文件名:ObjectService/ObjectServiceImpl)

4、约定生成的xml在resource/mapper下(文件名:ObjectMapper.xml)

1、po(entity)

##导入宏定义
$!define##设置保存文件路径(宏定义)
#save("/bean/po", ".java")##设置包路径(宏定义)
#setPackageSuffix("bean.po")#set($poName = $tool.append($tableInfo.name, "Po"))##设置生成的文件名
$!callback.setFileName($tool.append($poName,".java"))##自动导入包(全局变量)
$!autoImport
import lombok.Data;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springframework.format.annotation.DateTimeFormat;
##表注释(宏定义)
#tableComment("表实体类")
@Data
@TableName("$!{tableInfo.obj.name}")
public class $!{poName} implements Serializable {
#foreach($column in $tableInfo.fullColumn)##字段注释#if(${column.comment})/*** ${column.comment}*/#end##配置时间字段#if($column.type.equals("java.util.Date"))@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")#endprivate $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end}

2、mapper(Dao)

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

3、mapper.xml

##引入mybatis支持
$!mybatisSupport##设置保存名称与保存位置
$!callback.setFileName($tool.append($!{tableInfo.name}, "Mapper.xml"))
$!callback.setSavePath($tool.append($modulePath, "/src/main/resources/mapper"))##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())#set($pk = $tableInfo.pkColumn.get(0))
#end#set($mapperName = $tool.append($tableInfo.name, "Mapper"))<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="$!{tableInfo.savePackageName}.mapper.$!{mapperName}"></mapper>

4、service

##导入宏定义
$!define##设置表后缀(宏定义)
#setTableSuffix("Service")##保存文件(宏定义)
#save("/service", "Service.java")##包路径(宏定义)
#setPackageSuffix("service")#set($poName = $tool.append($tableInfo.name, "Po"))import com.baomidou.mybatisplus.extension.service.IService;
import $!{tableInfo.savePackageName}.bean.po.$!poName;##表注释(宏定义)
#tableComment("表服务接口")
public interface $!{tableName} extends IService<$!poName> {}

5、serviceImpl

##导入宏定义
$!define##设置表后缀(宏定义)
#setTableSuffix("ServiceImpl")##保存文件(宏定义)
#save("/service/impl", "ServiceImpl.java")##包路径(宏定义)
#setPackageSuffix("service.impl")#set($mapperName = $tool.append($tableInfo.name, "Mapper"))#set($poName = $tool.append($tableInfo.name, "Po"))import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import $!{tableInfo.savePackageName}.mapper.$!{mapperName};
import $!{tableInfo.savePackageName}.bean.po.$!{poName};
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
import org.springframework.stereotype.Service;##表注释(宏定义)
#tableComment("表服务实现类")
@Service("$!tool.firstLowerCase($tableInfo.name)Service")
public class $!{tableName} extends ServiceImpl<$!mapperName, $!poName> implements $!{tableInfo.name}Service {}

6、controller

##导入宏定义
$!define##设置表后缀(宏定义)
#setTableSuffix("Controller")##保存文件(宏定义)
#save("/controller", "Controller.java")##包路径(宏定义)
#setPackageSuffix("controller")##定义服务名
#set($serviceName = $!tool.append($!tool.firstLowerCase($!tableInfo.name), "Service"))##定义实体对象名
#set($entityName = $!tool.firstLowerCase($!tableInfo.name))#set($poName = $tool.append($tableInfo.name, "Po"))import com.baomidou.mybatisplus.extension.api.ApiController;
##import $!{tableInfo.savePackageName}.bean.po.$!poName;
##import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
import org.springframework.web.bind.annotation.*;##表注释(宏定义)
#tableComment("表控制层")
@RestController
@RequestMapping("$!tool.firstLowerCase($!tableInfo.name)")
public class $!{tableName} extends ApiController {}

摸鱼冠军:EasyCode+EasyApi相关推荐

  1. 互联网摸鱼日报(2022-11-07)

    互联网摸鱼日报(2022-11-07) InfoQ 热门话题 前端又开撕了:用Rust写的Turbopack,比Vite快10倍? PyTorch成为Linux基金会的顶级项目 博客园新闻 华为:鸿蒙 ...

  2. 互联网摸鱼日报(2022-10-24)

    互联网摸鱼日报(2022-10-24) InfoQ 热门话题 KubeOS : 面向云原生场景的容器操作系统 周星驰招聘Web3人才:要有头脑又宅心仁厚:微软回应"泄露2.4TB数据&quo ...

  3. 互联网摸鱼日报(2022-10-20)

    互联网摸鱼日报(2022-10-20) InfoQ 热门话题 81% 的 IT 团队被公司高层指示要减少或停止云支出 编程神器Copilot逐字抄袭他人代码?GitHub 回应:相似,但不同- 开发者 ...

  4. 字节CEO张一鸣卧底公司群2天,怒斥员工摸鱼

    点击上方"码农突围",马上关注 这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看&quo ...

  5. 互联网摸鱼日报(2022-11-27)

    互联网摸鱼日报(2022-11-27) InfoQ 热门话题 火爆出圈,站上风口的数字人到底是什么"人"?| 十问大咖 投入上百人.经历多次双11,Flink已经足够强大了吗? U ...

  6. 互联网摸鱼日报(2023-03-16)

    互联网摸鱼日报(2023-03-16) InfoQ 热门话题 3分钟上手,2小时起飞!教你玩转OceanBase Cloud! Facebook iOS版:探索移动应用10年演进之路 Netflix ...

  7. 用Python一键分析你的上网行为,看是在认真工作还是摸鱼

    2019 AI ProCon"598元学生票"限量抢购中!3日通票团购倒计时6天,扫码查看▲ 作者 | 云外孤岛 出自 | Python那些事(ID:pPythonSomethin ...

  8. 字节跳动CEO 张一鸣卧底公司群2天,怒斥员工摸鱼

    来源:码个蛋,整理自互联网 张一鸣卧底公司群内,活捉摸鱼员工 12月9日,一张字节跳动CEO--张一鸣怒批,公司员工上班时间专注聊游戏浑水摸鱼的行为.在各大社交平台流转.作为有千亿估值的字节跳动CEO ...

  9. 互联网摸鱼日报(2023-03-11)

    互联网摸鱼日报(2023-03-11) InfoQ 热门话题 架构师(2023 年 3 月) 世界级编程大师Bob 大叔为"干净代码"辩护遭质疑:时代变了,别用Clean Code ...

最新文章

  1. 邮件发送退信分析大全/SMTP error, RCPT TO: 550 Relay Deny
  2. three.js 几何体-组合网格_ThreeJS 粒子系统实现雪花飘落动画
  3. php 单例模式 单态模式
  4. [转]Android-Proguard(代码混淆)
  5. org.springframework.data.redis.serializer.SerializationException: Cannot serialize;
  6. 五年级计算机下册教案人教版,新人教版五年级下册信息技术全册教案.pdf
  7. 虚拟化十四问:VWmare全面解读虚拟化
  8. 数学建模笔记(十):博弈模型
  9. 什么,缺“Java项目经验”找不到工作?锋哥送你80个“项目经验”
  10. 安徽新华学院计算机学院官网,安徽新华学院计算机协会第十八届换届大会
  11. python读取视频文件大小,码率,帧率,以及通过码率计算文件大小与流量
  12. 工业控制系统基础知识入门(一)
  13. [论文] Feature Squeezing:Detecting Adversarial Examples in Deep Neural Networks
  14. 如何为word增加页码,且第一页不显示页码?
  15. iou(交并比)的概念
  16. 20几岁,不要急着长大
  17. 如何用网络管理软件灵活管理复杂庞大的网络
  18. Non-parametric Classifiers
  19. Promtail报错处理
  20. GIS空间分析 栅格数据分析1 欧氏距离分析

热门文章

  1. 对照组,的名字如何取,control和vehicle
  2. Android清除缓存、清除数据
  3. 你用啥不好?非要用0.1uF电容?
  4. 学画画真的很需要天赋吗,不一定看看他是怎么说的
  5. matlab求高阶微分的命令,matlab求解高阶微分方程辅导
  6. vulnstack-Web安全入门进阶实战靶场配置
  7. “行式存储”和“列式存储”的区别
  8. JavaScript中的宏任务和微任务
  9. 考研翻译 如何写?*
  10. JavaGuide github 地址及中文学习文档