easy code 模板案例 (author作者 修改+swagger-ui+mybatis plus)

news2024/11/16 0:36:10

pojo 

##引入宏定义
$!{define.vm}
##使用宏定义设置回调(保存位置与文件后缀)
#save("/pojo", ".java")
##使用宏定义设置包后缀
#setPackageSuffix("pojo")
##使用全局变量实现默认包导入
$!{autoImport.vm}
import java.io.Serializable;
##使用宏定义实现类注释信息
#tableComment("实体类")  $!entityName
@TableName("$tableInfo.name")
@ApiModel(value = "$!{tableInfo.comment}")
public class $!{tableInfo.name} implements Serializable {
    #foreach($column in $tableInfo.pkColumn )
        #if(${column.comment})
        @TableId(value = "$tableInfo.pkColumn", type = IdType.AUTO)
        #break
        #end
    #end
    #foreach($column in $tableInfo.fullColumn)
        #if(${column.comment})
        /**
         * ${column.comment}
         */#end
        @ApiModelProperty(value = "$!column.name")
        private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
    #end

    #foreach($column in $tableInfo.fullColumn)
        ##使用宏定义实现get,set方法
        #getSetMethod($column)
    #end
}

controller

##导入宏定义
$!{define.vm}

##设置表后缀(宏定义)
#setTableSuffix("Controller")

##保存文件(宏定义)
#save("/controller", "Controller.java")

##包路径(宏定义)
#setPackageSuffix("controller")

##定义服务名
#set($serviceName = $!tool.append($!tool.firstLowerCase($!tableInfo.name), "Service"))

##定义实体对象名
#set($entityName = $!tool.firstLowerCase($!tableInfo.name))

import $!{tableInfo.savePackageName}.pojo.$!tableInfo.name;
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.io.Serializable;
import java.util.List;

##表注释(宏定义)
#tableComment("表控制层")
@Slf4j
@Api(tags = "$!tableInfo.name 控制层")
@RestController("$!tool.firstLowerCase($!tableInfo.name)")
public class $!{tableName} {
    /**
     * 服务对象
     */
    @Resource
    private $!{tableInfo.name}Service $!{serviceName};

    /**
     * $!entityName 分页查询所有数据 $!tableInfo.name $!entityName
     *
     * @param data 分页对象
     * @return 所有数据
     */
    @ApiOperation(value = "分页查询所有数据", response = Result.class)
    @DynamicParameters(name = "data", properties = {
            @DynamicParameter(name = "pageNo", value = "页码", example = "1", required = true),
            @DynamicParameter(name = "pageSize", value = "条数", example = "10", required = true),
            @DynamicParameter(name = "replyType", value = "回复的对象1 2", example = "1", required = true),
            @DynamicParameter(name = "type", value = "xx", example = "1", required = true),
            @DynamicParameter(name = "parentId", value = "父 id", example = "1", required = true),
    })
    @PostMapping(value = "/selectAll")
    public Result selectAll(@RequestBody JSONObject data) {
        try {
            PageInfo info = $!{serviceName}.selectAll(data);
            return Result.ok(info);
         } catch (Exception e) {
            e.printStackTrace();
            log.info(e.toString());
            return Result.fail();
        }
    }

    /**
     * 通过主键查询单条数据
     *
     * @param id 主键
     * @return 单条数据
     */
    @ApiOperation(value = "主键查询单条数据", response = Result.class)
    @DynamicParameters(name = "data", properties = {
            @DynamicParameter(name = "id", value = "id", example = "1", required = true),
    })
    @GetMapping("{id}")
    public Result selectOne(@PathVariable Serializable id) {
        try {
            return  Result.ok($!{serviceName}.getById(id));
         } catch (Exception e) {
            e.printStackTrace();
            log.info(e.toString());
            return Result.fail();
        }
        
    }

    /**
     * 新增数据
     *
     * @param $!entityName 实体对象
     * @return 新增结果
     */@ApiOperation(value = "新增数据", response = Result.class)
    @DynamicParameters(name = "data", properties = {
            //@DynamicParameter(name = "pageNo", value = "页码", example = "1", required = true),
            //@DynamicParameter(name = "pageSize", value = "条数", example = "10", required = true),
            //@DynamicParameter(name = "replyType", value = "回复的对象1 2", example = "1", required = true),
            //@DynamicParameter(name = "type", value = "1表白墙 2交友 3工作 4黑企", example = "1", required = true),
            //@DynamicParameter(name = "parentId", value = "父 id", example = "1", required = true),
    })
    @PostMapping
    public Result insert(@RequestBody $!tableInfo.name $!entityName) {
        try {
            return  Result.ok($!{serviceName}.save($!entityName));
         } catch (Exception e) {
            e.printStackTrace();
            log.info(e.toString());
            return Result.fail();
        }
    }

    /**
     * 修改数据
     *
     * @param $!entityName 实体对象
     * @return 修改结果
     */
    @ApiOperation(value = "修改数据", response = Result.class)
    @DynamicParameters(name = "data", properties = {
            //@DynamicParameter(name = "pageNo", value = "页码", example = "1", required = true),
            //@DynamicParameter(name = "pageSize", value = "条数", example = "10", required = true),
            //@DynamicParameter(name = "replyType", value = "回复的1 2", example = "1", required = true),
            //@DynamicParameter(name = "type", value = "", example = "1", required = true),
            //@DynamicParameter(name = "parentId", value = "父 id", example = "1", required = true),
    })
    @PutMapping
    public Result update(@RequestBody $!tableInfo.name $!entityName) {
        try {
            return  Result.ok($!{serviceName}.updateById($!entityName));
         } catch (Exception e) {
            e.printStackTrace();
            log.info(e.toString());
            return Result.fail();
        }
    }

    /**
     * 删除数据
     *
     * @param idList 主键结合
     * @return 删除结果
     */
    @ApiOperation(value = "删除数据", response = Result.class)
    @DynamicParameters(name = "data", properties = {
            @DynamicParameter(name = "idList", value = "id", example = "1,2", required = true),
    })
    @DeleteMapping
    public Result delete(@RequestParam("idList") List<Long> idList) {
        try {
            return Result.ok($!{serviceName}.removeByIds(idList));
         } catch (Exception e) {
            e.printStackTrace();
            log.info(e.toString());
            return Result.fail();
        }
    }
}

mapper

##导入宏定义
$!{define.vm}

##设置表后缀(宏定义)
#setTableSuffix("Mapper")

##保存文件(宏定义)
#save("/mapper", "Mapper.java")

##包路径(宏定义)
#setPackageSuffix("mapper")

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import $!{tableInfo.savePackageName}.pojo.$!tableInfo.name;

##表注释(宏定义)
#tableComment("表数据库访问层")
@Mapper
public interface $!{tableName} extends BaseMapper<$!tableInfo.name> {

}

service

##导入宏定义
$!{define.vm}

##设置表后缀(宏定义)
#setTableSuffix("Service")

##保存文件(宏定义)
#save("/service", "Service.java")

##包路径(宏定义)
#setPackageSuffix("service")

import com.baomidou.mybatisplus.extension.service.IService;
import $!{tableInfo.savePackageName}.pojo.$!tableInfo.name;

##表注释(宏定义)
#tableComment("表服务接口")
public interface $!{tableName} extends IService<$!tableInfo.name> {
public PageInfo selectAll(JSONObject data);
}

serviceImpl

##导入宏定义
$!{define.vm}

##设置表后缀(宏定义)
#setTableSuffix("ServiceImpl")

##保存文件(宏定义)
#save("/service/impl", "ServiceImpl.java")

##包路径(宏定义)
#setPackageSuffix("service.impl")
##定义服务名
#set($mapperName = $!tool.append($!tool.firstLowerCase($!tableInfo.name), "Mapper"))

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import $!{tableInfo.savePackageName}.mapper.$!{tableInfo.name}Mapper;
import $!{tableInfo.savePackageName}.pojo.$!{tableInfo.name};
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
import org.springframework.stereotype.Service;

##表注释(宏定义)
#tableComment("表服务实现类")
@Service("$!tool.firstLowerCase($tableInfo.name)Service")
public class $!{tableName} extends ServiceImpl<$!{tableInfo.name}Mapper, $!{tableInfo.name}> implements $!{tableInfo.name}Service {
    @Autowired
    $!{tableInfo.name}Mapper $!{mapperName};

    /**
     * 分页查询所有数据
     * @param data
     * @return
     */
    @Override
    public PageInfo selectAll(JSONObject data) {
        QueryWrapper<$!{tableInfo.name}> wrapper = new QueryWrapper<>();
        wrapper.eq("type", data.getString("type"));
        wrapper.eq("parent_id", data.getInteger("parentId"));
        //wrapper.eq("createTime", data.get("createTime") + " 00:00:00");
        wrapper.orderByDesc("create_time");

        PageHelper.startPage(data.getInteger("pageNo"), data.getInteger("pageSize"));
        List<$!{tableInfo.name}> list = $!{mapperName}.selectList(wrapper);
        PageInfo info = new PageInfo(list);
        return info;
    }
}

修改作者

路径:Settings --> Other Settings---> EasyCode

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1084561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

不了解无线调制方式?这几个“老古董”大家现在还在用!

当我们使用手机、电视、互联网或其他无线通信设备进行通信时&#xff0c;数字调制技术起到了关键作用。这些技术是将我们的声音、文字、图像和数据转换成适合在无线信道上传输的模拟信号的重要工具。 从最早的调幅调制&#xff08;ASK&#xff09;到现代的正交频分复用&#xf…

半导体分立器件动态测试参数有哪些?纳米软件半导体测试厂商如何助力测试?

上期我们介绍了半导体静态测试参数以及测试静态参数的必要性&#xff0c;今天我们将对半导体分立器件的动态测试参数展开描述。动态参数测试是半导体测试的另一项重要内容&#xff0c;它可以检测半导体在开关过程中的响应时间、电流变化和能量损耗情况。 半导体动态测试参数是指…

【C++】C++11——智能指针、内存泄漏、智能指针的使用和原理、RAII、auto_ptr、unique_ptr、shared_ptr、weak_ptr

文章目录 C117.智能指针7.1内存泄漏7.2智能指针的概念7.3智能指针的使用7.3.1 auto_ptr7.3.2 unique_ptr7.3.3 shared_ptr7.3.4 weak_ptr C11 7.智能指针 7.1内存泄漏 什么是内存泄漏&#xff1a; 内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏…

矿区井下智慧用电安全监测解决方案

一、背景 矿区井下作业具有复杂的环境和较高的危险性&#xff0c;对于用电安全的要求尤为严格。传统的管理模式和监测方法往往无法实时、准确地掌握井下用电情况&#xff0c;对安全隐患的排查与预防存在一定局限性。因此&#xff0c;引入智慧用电安全监测解决方案&#xff…

MySQL系列第一篇入门

1.什么是关系型数据库呢&#xff1f; RDBMS 是一种结构化数据存储系统&#xff0c;使用表格间的关系来存储和操作数据。 在关系型数据库中&#xff0c;数据以行和列的形式存储&#xff0c;其中每一行表示一个关系或实体&#xff0c;每一列表示该实体的某个属性或特征 关系型数…

干洗店管理软件,家政洗衣洗鞋店上门服务小程序

干洗店管理系统&#xff0c;洗鞋店小程序下单&#xff0c;收衣收鞋预约&#xff1b; 洗衣店洗鞋店收衣管理APP&#xff0c;根据会员所属地区或门店&#xff0c;自动把信息派送到收衣员工的APP上。 洗衣店洗鞋店小程序&#xff0c;支持通过预约单&#xff0c;生成会员收衣单据或…

Cisdem Video Player for mac(高清视频播放器) v5.6.0中文版

Cisdem Video Player mac是一款功能强大的视频播放器&#xff0c;适用于 macOS 平台。它可用于播放不同格式的视频文件&#xff0c;并具有一些实用的特性和功能。 Cisdem Video Player mac 中文版软件特点 多格式支持&#xff1a;Cisdem Video Player 支持几乎所有常见的视频格…

Flask框架配置celery-[1]:flask工厂模式集成使用celery,可在异步任务中使用flask应用上下文,即拿即用,无需更多配置

一、概述 1、celery框架和flask框架在运行时&#xff0c;是在不同的进程中&#xff0c;资源是独占的。 2、celery异步任务如果想使用flask中的功能&#xff0c;如orm&#xff0c;是需要在flask应用上下文管理器中执行orm操作的 3、使用celery是需要使用到中间件的&#xff0…

2023年【煤气】试题及解析及煤气复审模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 煤气试题及解析考前必练&#xff01;安全生产模拟考试一点通每个月更新煤气复审模拟考试题目及答案&#xff01;多做几遍&#xff0c;其实通过煤气理论考试很简单。 1、【单选题】100mm以上的煤气管道着火,( )一下把煤…

vue3封装分页组件

1.新建Pagination文件以及该文件夹下新建index.vue 2.在index.vue文件中编写一下代码 <template><div :class"{ hidden: hidden }" class"pagination-container"><el-pagination:background"background"v-model:current-page&qu…

全国快递查询接口,快递,全球快递,配送,物流管理,物流数据,电子商务

一、接口介绍 支持国内外1500快递物流公司的物流跟踪服务&#xff0c;包括顺丰、圆通、申通、中通、韵达等主流快递公司。同时&#xff0c;支持单号识别快递物流公司、按次与按单计费、物流轨迹返回等功能&#xff0c;以满足企业对快递物流查询多维度的需求。 二、使用案例截…

IDEA中.gitignore配置不生效的解决方案

一、创建项目 二、执行以下Git命令 git rm -r --cached . git add . git commit -m "update .gitignore"

接口测试的几种方法

其实无论用那种测试方法&#xff0c;接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文&#xff0c;服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端&#xff0c;客户端接收应答报文这一个过程。 方法一、用LoadRunner实现接口测试 大家都知…

风光十几年的MIUI要无了,小米自研MIOS即将就位

今年8月小米新品发布会上&#xff0c;K60 至尊版亮相的同时带来了下一代系统&#xff08;或者说UI &#xff09;的名字&#xff1a;MIUI 15 。 好家伙不知不觉已经要更到 15 了&#xff0c;大家用过几个版本呢&#xff1f; 回想起 MIUI V1 内测发布、MIUI V5 全民刷机、MIUI 8…

显卡、SSD二合一,华硕这波「技术革命」给我看傻了

通常来讲&#xff0c;高端、低端主板除了芯片组、用料、供电规格等差异&#xff0c;在接口拓展性方面也存在着明显分级。 最常用的 USB 接口倒还好&#xff0c;即便目前最入门级主板基本也能保证至少 4 个&#xff1b; 加上机箱前面板拓展 USB 口&#xff0c;保证一般用户需求…

Android studio安装详细教程

Android studio安装详细教程 文章目录 Android studio安装详细教程一、下载Android studio二、安装Android Studio三、启动Android Studio 一、下载Android studio Android studio安装的前提是必须保证安装了jdk1.8版本以上 1、打开android studio的官网&#xff1a;Download…

3D模型格式转换工具HOOPS Exchange:模型数据自由导入和导出

HOOPS Exchange是一套高性能软件库&#xff0c;可以为软件开发人员提供导入和导出3D文件格式的能力。HOOPS Exchange导入3D数据后&#xff0c;会将3D数据转换为PRC格式存放到内存中&#xff0c;最后导出成为其他3D格式。&#xff08;点击申请HOOPS Exchange免费试用&#xff09…

互动设计:深入了解用户体验的关键

交互是人与计算机系统之间的互动过程。在计算机领域中&#xff0c;交互是人机交互技术的核心内容之一。交互设计是一种基于人类行为科学、心理学、人体工程学等领域的专业设计&#xff0c;目的是创造用户友好的、易于使用的计算机软件、网络、移动应用等。交互的本质在于用户的…

JUC并发编程:Monitor和对象结构

JUC并发编程&#xff1a;Monitor和对象结构 1. Monitor1.1 对象的结构1.1.1 MarkWord1.1.2 Klass Word1.1.3 数组长度1.1.4 &#x1f330; 1. Monitor Monitor官方文档 我们可以把Monitor理解为一个同步工具&#xff0c;也可以认为是一种同步机制。它通常被描述为一个对象&…

零基础Linux_15(基础IO_文件)软硬链接+动静态库详解

目录 1. 软硬链接 1.1 创建软链接 1.2 创建硬链接 1.3 硬链接数和unlink 2. 动静态库 2.1 制作静态库 2.2 查看和打包静态库 2.3 使用静态库 2.3.1 安装在默认搜索路径 2.3.2 告知路径库路径库名 2.4 制作动态库 2.5 使用动态库 2.5.1 安装在默认搜索路径 2.5.2 …