摸鱼冠军:EasyCode+EasyApi
首先问自己一个问题:测试代码的时候用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相关推荐
- 互联网摸鱼日报(2022-11-07)
互联网摸鱼日报(2022-11-07) InfoQ 热门话题 前端又开撕了:用Rust写的Turbopack,比Vite快10倍? PyTorch成为Linux基金会的顶级项目 博客园新闻 华为:鸿蒙 ...
- 互联网摸鱼日报(2022-10-24)
互联网摸鱼日报(2022-10-24) InfoQ 热门话题 KubeOS : 面向云原生场景的容器操作系统 周星驰招聘Web3人才:要有头脑又宅心仁厚:微软回应"泄露2.4TB数据&quo ...
- 互联网摸鱼日报(2022-10-20)
互联网摸鱼日报(2022-10-20) InfoQ 热门话题 81% 的 IT 团队被公司高层指示要减少或停止云支出 编程神器Copilot逐字抄袭他人代码?GitHub 回应:相似,但不同- 开发者 ...
- 字节CEO张一鸣卧底公司群2天,怒斥员工摸鱼
点击上方"码农突围",马上关注 这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看&quo ...
- 互联网摸鱼日报(2022-11-27)
互联网摸鱼日报(2022-11-27) InfoQ 热门话题 火爆出圈,站上风口的数字人到底是什么"人"?| 十问大咖 投入上百人.经历多次双11,Flink已经足够强大了吗? U ...
- 互联网摸鱼日报(2023-03-16)
互联网摸鱼日报(2023-03-16) InfoQ 热门话题 3分钟上手,2小时起飞!教你玩转OceanBase Cloud! Facebook iOS版:探索移动应用10年演进之路 Netflix ...
- 用Python一键分析你的上网行为,看是在认真工作还是摸鱼
2019 AI ProCon"598元学生票"限量抢购中!3日通票团购倒计时6天,扫码查看▲ 作者 | 云外孤岛 出自 | Python那些事(ID:pPythonSomethin ...
- 字节跳动CEO 张一鸣卧底公司群2天,怒斥员工摸鱼
来源:码个蛋,整理自互联网 张一鸣卧底公司群内,活捉摸鱼员工 12月9日,一张字节跳动CEO--张一鸣怒批,公司员工上班时间专注聊游戏浑水摸鱼的行为.在各大社交平台流转.作为有千亿估值的字节跳动CEO ...
- 互联网摸鱼日报(2023-03-11)
互联网摸鱼日报(2023-03-11) InfoQ 热门话题 架构师(2023 年 3 月) 世界级编程大师Bob 大叔为"干净代码"辩护遭质疑:时代变了,别用Clean Code ...
最新文章
- 邮件发送退信分析大全/SMTP error, RCPT TO: 550 Relay Deny
- three.js 几何体-组合网格_ThreeJS 粒子系统实现雪花飘落动画
- php 单例模式 单态模式
- [转]Android-Proguard(代码混淆)
- org.springframework.data.redis.serializer.SerializationException: Cannot serialize;
- 五年级计算机下册教案人教版,新人教版五年级下册信息技术全册教案.pdf
- 虚拟化十四问:VWmare全面解读虚拟化
- 数学建模笔记(十):博弈模型
- 什么,缺“Java项目经验”找不到工作?锋哥送你80个“项目经验”
- 安徽新华学院计算机学院官网,安徽新华学院计算机协会第十八届换届大会
- python读取视频文件大小,码率,帧率,以及通过码率计算文件大小与流量
- 工业控制系统基础知识入门(一)
- [论文] Feature Squeezing:Detecting Adversarial Examples in Deep Neural Networks
- 如何为word增加页码,且第一页不显示页码?
- iou(交并比)的概念
- 20几岁,不要急着长大
- 如何用网络管理软件灵活管理复杂庞大的网络
- Non-parametric Classifiers
- Promtail报错处理
- GIS空间分析 栅格数据分析1 欧氏距离分析