实用又好用Mybatis-Plus版的EasyCode模板

 

1:插件下载

Plugins中搜索EasyCode,并且下载安装 

2:模板编写

 2.1:entity.vm.java模板

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

##使用宏定义设置回调(保存位置与文件后缀)
#save("/entity", "DO.java")

##使用宏定义设置包后缀
#setPackageSuffix("entity")

##使用全局变量实现默认包导入
$!{autoImport.vm}
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import lombok.Getter;
import lombok.Setter;
import com.baomidou.mybatisplus.extension.activerecord.Model;

##使用宏定义实现类注释信息
#tableComment("实体类")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("$!{tool.hump2Underline($!{tableInfo.name})}")
@ApiModel(value = "$!{tableInfo.name}", description = "$tableInfo.comment")
public class $!{tableInfo.name}DO  implements Serializable {
    private static final long serialVersionUID = $!tool.serial();
#foreach($column in $tableInfo.fullColumn)
    #if(${column.comment})
    
    /**
     * ${column.comment}
     */#end
     
	@ApiModelProperty(value = "${column.comment}")
    @TableField("$!{tool.hump2Underline($!{column.name})}")
    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end
}

2.2:dto.vm.java模板

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

##使用宏定义设置回调(保存位置与文件后缀)
#save("/dto", "DTO.java")

##使用宏定义设置包后缀
#setPackageSuffix("dto")

##使用全局变量实现默认包导入
$!{autoImport.vm}
import java.io.Serializable;
import lombok.Data;

##使用宏定义实现类注释信息
#tableComment("实体类")
@Data
public class $!{tableInfo.name}DTO implements Serializable {
    private static final long serialVersionUID = $!tool.serial();
#foreach($column in $tableInfo.fullColumn)
    #if(${column.comment})

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

2.3: service.vm.java

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

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

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

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

import com.baomidou.mybatisplus.extension.service.IService;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name}DO;
import cn.hsa.hsaf.core.framework.web.WrapperResponse;
import java.util.Map;

##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pk = $tableInfo.pkColumn.get(0))
#end




/**
 * $!{tableInfo.comment}($!{tableInfo.name})表Service
 *
 * @author $!author
 * @since $!time.currTime()
 */
public interface $!{tableName}  extends IService<$!{tableInfo.name}DO> {

      /**
     * 查询$!{tableInfo.name}数据
     *
     *  @author $!author
     */
     WrapperResponse<String, Object> query$!{tableInfo.name} ($!{tableInfo.name}DTO $!tool.firstLowerCase($!{tableInfo.name})DTO) throws Exception;

    /**
     * 新增$!{tableInfo.name}数据
     *
     *  @author $!author
     */
    WrapperResponse<String, Object> insert$!{tableInfo.name} ($!{tableInfo.name}DTO $!tool.firstLowerCase($!{tableInfo.name})DTO) throws Exception;

    /**
     * 修改$!{tableInfo.name}数据
     *
     *  @author $!author
     */
    WrapperResponse<String, Object> update$!{tableInfo.name} ($!{tableInfo.name}DTO $!tool.firstLowerCase($!{tableInfo.name})DTO) throws Exception;

    /**
     *删除$!{tableInfo.name}数据
     *
     *  @author $!author
     */
    WrapperResponse<String, Object> delete$!{tableInfo.name} ($!{tableInfo.name}DTO $!tool.firstLowerCase($!{tableInfo.name})DTO) throws Exception;

}

2.4: serviceimpl.vm.java 

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

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

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

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

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import $!{tableInfo.savePackageName}.dao.$!{tableInfo.name}Dao;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name}DO;
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}Dao, $!{tableInfo.name}DO> implements $!{tableInfo.name}Service {

}

2.5dao.vm.java 

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

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

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

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

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

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

}

3:导入模板

模板编写完之后,进行模板导入

settings--》other settings--》EasyCode--》Template---》点击Group Name后边的+号添加自己的板块,也可以选择默认---》

然后点击下边的加号+添加模板

 将对应模板贴入,点击应用

4:引入数据库

 

填入信息(ip,port,账号、密码)进行测试链接

 可能会遇到一个问题就是,明明navicat可以连接数据库,但是idea却链接不上:

解决:在启动类启动项配置VM option,加上:

 -Djava.net.preferIPv4Stack=true

并且在help-->edit custom Vm options

链接上点击旁边的会显示数据库信息,如果没显示就refrush一下

然后选择你需要生成代码的数据库跟表

5:自动生成代码

 

选择你刚刚导入的模板就行,可以多选,一次性生成多个,可以选择你想要生成在那个包下边,不选默认生成主目录下边

没选选了

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

03 项目运行

前面两篇文章对项目架构+源码架构做了分析,这篇文章先将服务部署一下,能够让大家有个直观的感受。 组件资源 项目运行的各种组件已经为你准备好了,有需要的直接百度云盘下载: 链接:https://pan.baidu.com/s/1hN6qf20gamMHPmA_qXwsLg提取码:o4k9MySQL数据库创建 找到的…

四川天蝶电子商务有限公司真实可靠吗?

随着数字经济的不断发展&#xff0c;抖音电商服务日益成为企业拓展销售渠道、提升品牌影响力的关键一环。在这样的大背景下&#xff0c;四川天蝶电子商务有限公司凭借其专业的服务能力和创新的技术手段&#xff0c;迅速崛起为抖音电商服务领域的领军企业。 四川天蝶电子商务有限…

Ubuntu系统Springboot项目Nginx安装(编译安装方式)

1.下载 nginx官网下载 Index of /download/ 2.解压 这里我下载的1.25.3版本&#xff0c;系统是ubuntu 解压 tar -zxvf nginx-1.25.3.tar.gz 3.编译安装 安装前需要执行安装一些系统依赖 3.1安装PCRE库 ubuntu&#xff1a;执行以下命令 sudo apt-get install libpcre…

每日一练2023.11.28———N个数求和【PTA】

题目链接&#xff1a; L1-009 N个数求和 题目要求&#xff1a; 本题的要求很简单&#xff0c;就是求N个数字的和。麻烦的是&#xff0c;这些数字是以有理数分子/分母的形式给出的&#xff0c;你输出的和也必须是有理数的形式。 输入格式&#xff1a; 输入第一行给出一个正整…

【影刀RPA_写入日期到飞书表格】

飞书将日期写入多维表格&#xff0c;日期格式需要时毫秒级的时间戳才行。

已知两个链表L1和L2分别表示两个集合,其中元素递增排列。请设计一个算法,用于求出L1与L2的交集,并存放在L1链表中

已知两个链表L1和L2分别表示两个集合&#xff0c;其中元素递增排列。请设计一个算法&#xff0c;用于求出L1与L2的交集&#xff0c;并存放在L1链表中。 代码思路&#xff1a; 我们创建一个辅助链表L3&#xff0c;用于存储L1和L2链表的交集&#xff0c;用s遍历L3各个元素 用p和…

常见加密算法

常见加密算法 加密算法是一种用数学方法对数据进行变换的技术&#xff0c;目的是保护数据的安全&#xff0c;防止被未经授权的人读取或修改。加密算法可以分为三大类&#xff1a;对称加密算法、非对称加密算法和哈希算法&#xff08;也叫摘要算法&#xff09;。 哈希算法 哈…

C++之STL库:string类(用法列举和总结)

前言 大家在学习STL库的时候一定要学会看英文文档&#xff0c;俗话说熟能生巧&#xff0c;所以还得多练&#xff01;在使用string类之前&#xff0c;要包含头文件#include <string>和using namespace std; 文档链接&#xff1a;string - C Reference 一、string——构造…

简易版扫雷+代码分析

前言&#xff1a; 实验一个简易版的扫雷&#xff0c;也要两百来行的代码&#xff0c;因此为了代码整洁&#xff0c;维护起来方便&#xff0c;这里我们和前期实现的三子棋一样&#xff0c;也弄一个游戏的头文件game.h用来装各种头文件以及函数的声明以及宏定义、预处理信息&…

【备忘录】快速回忆ElasticSearch的CRUD

导引——第一条ElasticSearch语句 测试分词器 POST /_analyze {"text":"黑马程序员学习java太棒了","analyzer": "ik_smart" }概念 语法规则 HTTP_METHOD /index/_action/IDHTTP_METHOD 是 HTTP 请求的方法&#xff0c;常见的包括…

Ubuntu18.04磁盘取证-中难度篇

涉及的镜像文件&#xff1a; sdb.vhd uac.tar ubuntu.20211208.mem 需要利用的工具&#xff1a; volatility3 volatility2.6.1 FTK/Autopsy Strings 题干 容器是一个Ubuntu Linux 蜜罐&#xff0c;用来观察利用 CVE-2021-41773 的漏洞攻击者想要做什么。 您将看到一个 cr…

食品行业研发知识管理:企业网盘的选择与优势

食品行业为了自身的发展都会有自己的研发中心&#xff0c;研发中心是一种知识密集型组织&#xff0c;为了提高研发能力、培养人才、加快创新速度&#xff0c;需要一一个安全统一的研发知识管理平台。食品行业可以使用Zoho WorkDrive企业网盘来作为自己的研发知识管理平台&#…

Java之面向对象《ATM自动取款机》

一、前言&#xff1a; 关于上次我写的博客文章中"Java之《ATM自动取款机》(面向对象)"&#xff0c;里面还不够完善&#xff0c;因为在各个服务功能相互跳转时&#xff0c;会出现混乱问题。这次我对其进行了修改和改进&#xff0c;若还有其它在大家测试时出现的bug请及…

Python3 Linux 安装教程

1. windows安装 去Python官网下载windows安装包&#xff0c;按照安装向导一直点击下一步即可&#xff0c;安装向导最好勾选Add Python3.x to PATH&#xff0c;这样就不用手动添加环境变量了。 2. linux安装 linux安装比较复杂&#xff0c;需要安装一些系统依赖&#xff0c;再…

认证授权常见方式

认证授权 认证 (Authentication) 和授权 (Authorization)的区别是什么&#xff1f; 说简单点就是&#xff1a; 认证 (Authentication)&#xff1a; 你是谁。授权 (Authorization)&#xff1a; 你有权限干什么。 稍微正式点&#xff08;啰嗦点&#xff09;的说法就是&#x…

创建JDK8版本的SpringBoot项目的方法

目录 一.通过阿里云下载 二.通过IDEA创建 1.下载安装JDK17 2.创建SpringBoot 3.X的项目 3.把JDK17改成JDK8 截止到2023.11.24&#xff0c;SpringBoot不再支持3.0X之前的版本&#xff0c;3.0X之后的版本所对应的JDK版本为JDK17&#xff0c;下面介绍如何在idea上继续使用JDK…

vue 表格虚拟滚动

参考未整理 1.使用vxetable实现 官网 问题&#xff1a; 实现了表格的虚拟滚动&#xff0c;但是单元格数据不自动换行了 &#xff0c;如下显示的... 然后在官网看到是这样的&#xff0c;那我不是白写。。。 解决&#xff1a; 1.包一层div2.再写个换行样式 <vxe-column …

营销软文怎么写,媒介盒子分享

企业营销落地过程中&#xff0c;高质量的营销文案创作是很多企业的难题&#xff0c;这就导致公司可能投入了大量成本却很难看到回报&#xff0c;今天媒介盒子就来分享&#xff1a;如何打造高质量营销软文。 一、 选题具有吸引力 文案选题等于支撑点&#xff0c;想要写出高质量…

【hive-design】hive架构详解:描述了hive架构,hive主要组件的作用、hsql在hive执行过程中的底层细节、hive各组件作用

文章目录 一. Hive Architecture二. Metastore1. Metastore Architecture2. Metastore Interface 三. Compiler四. hive架构小结 本文主要讨论了 描述了hive架构&#xff0c;hive主要组件的作用详细描述了hsql在hive执行过程中的底层细节描述了hive各组件作用 一. Hive Archite…

Android12之logcat日志显示颜色和时间(一百六十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…