首页 > 其他分享 >idea easyCode插件与velocity语法

idea easyCode插件与velocity语法

时间:2024-01-24 13:44:19浏览次数:23  
标签:tableInfo 插件 name ## column idea easyCode import 定义

1,idea安装easyCode插件

2,设置模板

easyCode的教程:https://gitee.com/makejava/EasyCode/wikis

easyCode会有默认的字段类型的对应关系,也可以根据需要自己修改

 下面是我自己写的一套(适用于mybatisPlus)

##导入宏定义
$!define

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

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

##自动导入包(全局变量)
$!autoImport
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import com.cfam.ruleengine.common.base.BaseEntity;
import lombok.EqualsAndHashCode;
import lombok.Data;

##表注释(宏定义)
#tableComment("表实体类")
@SuppressWarnings("serial")
@EqualsAndHashCode(callSuper = true)
@TableName("$!tableInfo.obj.name")
@Data
public class $!{tableInfo.name} extends  BaseEntity {
#foreach($column in $tableInfo.fullColumn)

    #if(${column.name}!="id" && ${column.name}!="createUser" && ${column.name}!="updateUser" && ${column.name}!="createTime" && ${column.name}!="updateTime")

        #if(${column.comment})/**
    * ${column.comment}
    */#end
    #if(${column.name.indexOf("Id")}!=-1)
        private Long $!{column.name};
    #else
        private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
    #end
#end
#end



}
entity
##导入宏定义
$!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> {

}
mapper
##导入宏定义
$!define

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

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

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

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

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

}
service
##导入宏定义
$!define

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

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

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

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import $!{tableInfo.savePackageName}.mapper.$!{tableInfo.name}Mapper;
import $!{tableInfo.savePackageName}.entity.$!{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 {

}
service.impl
##导入宏定义
$!define

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

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

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

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

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

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import $!{tableInfo.savePackageName}.entity.dto.$!{tableInfo.name}QueryReq;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name};
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
import org.springframework.web.bind.annotation.*;
import com.cfam.common.base.controller.BaseController;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cfam.common.base.dto.resp.RespDTO;
import org.springframework.beans.BeanUtils;
import lombok.extern.slf4j.Slf4j;

import javax.annotation.Resource;

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

    /**
     * 分页查询$!{tableInfo.comment}
     *
     * @param req 查询实体
     * @return 所有数据
     */
    @GetMapping(value = "$!tool.firstLowerCase($!tableInfo.name)/selectPage")
    public RespDTO<IPage<$!tableInfo.name>> selectPage(@RequestBody $!{tableInfo.name}QueryReq req) {
        try {
            $!tableInfo.name $tool.firstLowerCase($!tableInfo.name) = new  $!{tableInfo.name}();
            BeanUtils.copyProperties(req, $tool.firstLowerCase($!tableInfo.name));
            QueryWrapper queryWrapper = new QueryWrapper($tool.firstLowerCase($!tableInfo.name));
            queryWrapper.orderByDesc("create_time");
            return success(this.$!{serviceName}.page(new Page<>(req.getPageNum(), req.getPageSize()), queryWrapper));
        }catch (Exception e){
            log.error("分页查询$!{tableInfo.comment}出错",e);
            return fail("500", e.getMessage());
        }
    }
    
}
controller
##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "QueryReq"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/entity/dto"))

#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.entity.dto#{end};

##使用全局变量实现默认包导入
$!autoImport
import com.cfam.api.datacenter.dto.data.EntityDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * ($!{tableInfo.comment})$!{tableInfo.name} 查询 请求参数
 * @author makejava
 * @date $!time.currTime()
 */
@Data
public class $!{tableInfo.name}QueryReq  implements EntityDTO{
#foreach($column in $tableInfo.fullColumn)
    #if(${column.comment})/**
    * ${column.comment}
    */#end

    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end

    private Integer pageSize;
    
    private Integer pageNum;

}
QueryReq

3,velocity语法

一些基本介绍:http://www.51gjie.com/javaweb/896.html

参考文档:https://blog.csdn.net/weixin_34072637/article/details/89941987?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control

 

标签:tableInfo,插件,name,##,column,idea,easyCode,import,定义
From: https://www.cnblogs.com/hsql/p/17984488

相关文章

  • emlog蓝叶模板伪原创插件
    一个模板如果使用的人多,搜索引擎会识别网站的相似度,会认为这是同一个站作弊行为,那就会降低你网站的权重,可能最终你的幸苦更新会成就别人,做了别人的嫁衣,所以有条件的最好是做个全新代码的模版,如果不想重新做新模板,那么emlog蓝叶模板伪原创插件可以实现你的要求,使用emlog蓝叶模板伪......
  • emlogpro蓝叶相册插件
    emlogpro蓝叶相册插件,适用于最新的emlogpro版本,后台新建专辑、上传专辑图片、修改专辑名称排序描述、设置专辑查看权限、修改图片名称,前台瀑布流模式展示相册图片列表,点击图片可以放大预览查看,响应式布局完美支持手机端。上传激活插件简单设置即可使用,简单易操作。插件下载网址:h......
  • emlog蓝叶酷我网盘插件
    emlog蓝叶酷我网盘插件,使用插件设置好用户ID即可读取调用酷我音乐网盘内的文件,酷我音乐网盘免费拥有10G容量,可上传不大于50M的文件,可上传mp3、m4a音乐文件,如需上传视频文件,可把mp4扩展名改成m4a后再上传,上传需要通过酷我音乐盒软件上传。激活emlog蓝叶酷我网盘插件后,有独立的文件......
  • emlog蓝叶移动网盘插件
    emlog蓝叶移动网盘插件,使用插件设置好移动网盘用户ID、目录ID、登陆授权码即可读取调用移动网盘指定目录里的文件,移动网盘注册简单,免费用户容量很大,支持上传大体积视频,可使用本插件读取调用音乐和视频。激活emlog蓝叶移动网盘插件后,有独立的文件列表页面,默认在发布文章页有按钮可......
  • Typecho文章采集发布插件-免费下载
    分享一款可以自动采集网页文章,并发布到typecho博客网站的typecho采集发布插件,支持简数采集器,火车头数据采集器,八爪鱼文章采集器,后羿采集器等。Typecho采集发布插件使用方法如下:1. 下载并安装typecho文章采集发布插件1-1)typecho文章采集发布插件免费下载地址:typecho采集发布插......
  • IDEA插件推荐:Apipost-Helper,免费!
    IDEA插件市场中的API调试插件不是收费(FastRequest)就是不好用(apidoc、apidocx等等)今天给大家介绍一款国产的API调试插件:Apipost-Helper,完全免费且好看好用!这款插件由Apipost团队开发的,其官方介绍是:用于IDEA项目快速生成API文档,快速查询接口、接口代码功能,并支持在IDEA中进行API调......
  • 如何查找SpringBoot应用中的请求路径(不使用idea)
    背景昨天有个同事向我咨询某个接口的物理表是哪个,由于公司业务较多、这块业务的确不是我负责的,也没有使用idea不能全局搜索(eclipse搜不到jar内的字符串),也就回复了不清楚。除了自己写代码输出servlet的路径和类外,发现了一个我之前没用过的方法:SpringBootActuator,分享给大家。......
  • IDEA插件推荐:Apipost-Helper,免费!
    IDEA插件市场中的API调试插件不是收费(FastRequest)就是不好用(apidoc、apidocx等等)今天给大家介绍一款国产的API调试插件:Apipost-Helper,完全免费且好看好用!这款插件由Apipost团队开发的,其官方介绍是:用于IDEA项目快速生成API文档,快速查询接口、接口代码功能,并支持在IDEA中进行API......
  • Jenkins+基础系列16:番外篇--Manage and Assign Roles 角色权限控制插件
    摘自:https://blog.csdn.net/yangj507/article/details/1080832721、下载插件:Role-basedAuthorizationStrategy,安装成功后,可以重启下 2、菜单查看 3、菜单简介 4、ManageRoles设置5、AssignRoles设置 6、视图名称和job名称设置由于我们采用了表达式匹配......
  • vue-helper 点击跳转插件 在 methods里面互相调用函数,会产生两个函数definitions ,然后
    vue-helper点击跳转插件在methods里面互相调用函数,会产生两个函数definitions,然后就回弹出框让你选择原因:换了台电脑,又从新配置下vscode"editor.gotoLocation.multipleTypeDefinitions":"goto","editor.gotoLocation.multipleReferences":"goto","editor.got......