idea 插件 Easy Code 自定义 MybatisPlus 模板一键快速生成所需代码

这篇具有很好参考价值的文章主要介绍了idea 插件 Easy Code 自定义 MybatisPlus 模板一键快速生成所需代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

之前无意中了解到了 idea 中的 Easy Code 插件,说是能快速生成 entity 、mapper、service、controller 等文件,避免很多简单重复性的创建工作,大大提高 MySQL 增删改查的开发效率。 正好今天要做对 MySQL 的增删改查,想着试试这个插件,没想到,特别好用,但也需要自己定制,所以就有了这篇文章,分享如何使用 idea Easy Code 插件配置 Mybatis Plus 模板来提高对 MySQL 的开发效率的。

一、idea 安装 Easy Code 插件

idea 插件 Easy Code 自定义 MybatisPlus 模板一键快速生成所需代码

安装完成后,需要重启 idea 生效。

二、使用 idea 连接 MySQL 数据库

配置连接数据库步骤:

View --> Tool Windows --> Database

idea 插件 Easy Code 自定义 MybatisPlus 模板一键快速生成所需代码

然后,新建 MySQL 连接,最后如下图所示:

idea 插件 Easy Code 自定义 MybatisPlus 模板一键快速生成所需代码

连接成功后,这时候我们可以选择其中一个表,右键:EasyCode --> Generate Code,来快速生成 entity 、mapper、service、controller 等文件。如下图所示:

idea 插件 Easy Code 自定义 MybatisPlus 模板一键快速生成所需代码

但是,这样会生成挺多文件,挺多内容的,乱七八糟。有的内容我并不想要,所以我们需要配置 Easy Code 自定义宏操作模板。

三、配置 Easy Code 生成模板

点击 File --> Settings --> Other Settings --> Easy Code --> Template Setting,如下图所示:

idea 插件 Easy Code 自定义 MybatisPlus 模板一键快速生成所需代码

我们可以新建 Group,创建宏操作来自动生成 entity 、mapper、service、controller、mapper.xml 等文件。

3.1、entity

##导入宏定义
$!define

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

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

##自动导入包(全局变量)
$!autoImport
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

##表注释(宏定义)
##tableComment("表实体类")
/**
 * $!{tableInfo.comment}($!{tableInfo.name})表实体类
 * 
 * @author liuyzh
 * @since $!time.currTime()
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(description = "")
@SuppressWarnings("serial")
public class $!{tableInfo.name} extends Model<$!{tableInfo.name}> implements Serializable {
    private static final long serialVersionUID = $!tool.serial();
#foreach($column in $tableInfo.fullColumn)
    ##if(${column.comment})/**
    ##* ${column.comment}
    ##*/#end

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

3.2、mapper

##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "Mapper"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/mapper"))

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

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

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

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表数据库访问层
 *
 * @author liuyzh
 * @since $!time.currTime()
 */
public interface $!{tableName} extends BaseMapper<$!{tableInfo.name}>{

}

3.3、service

##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "Service"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/service"))

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

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

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

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表服务接口层
 *
 * @author liuyzh
 * @since $!time.currTime()
 */
public interface $!{tableInfo.name}Service extends IService<$!{tableInfo.name}>{

}

3.4、serviceImpl

##导入宏定义
$!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("表服务实现类")
/**
 * $!{tableInfo.comment}($!{tableInfo.name})表服务实现类
 *
 * @author liuyzh
 * @since $!time.currTime()
 */
@Service
public class $!{tableInfo.name}ServiceImpl extends ServiceImpl<$!{tableInfo.name}Mapper, $!{tableInfo.name}> implements $!{tableInfo.name}Service {

}

3.5、controller

##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "Controller"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/controller"))
##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pk = $tableInfo.pkColumn.get(0))
#end

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

import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表服务控制层
 *
 * @author liuyzh
 * @since $!time.currTime()
 */
@Api(tags = "$!{tableInfo.comment}($!{tableInfo.name})") 
@Validated
@RestController
@AllArgsConstructor
@RequestMapping("$!tool.firstLowerCase($tableInfo.name)")
public class $!{tableName} {
    @Resource
    private final $!{tableInfo.name}Service $!tool.firstLowerCase($tableInfo.name)Service;

}

3.6、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

<?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.$!{tableInfo.name}Mapper">

    <resultMap type="$!{tableInfo.savePackageName}.entity.$!{tableInfo.name}" id="$!{tableInfo.name}Map">
#foreach($column in $tableInfo.fullColumn)
        <result property="$!column.name" column="$!column.obj.name" jdbcType="$!column.ext.jdbcType"/>
#end
    </resultMap>

</mapper>

四、添加类型映射

点击 File --> Settings --> Other Settings --> Easy Code --> Type Mapper,如下图所示:

idea 插件 Easy Code 自定义 MybatisPlus 模板一键快速生成所需代码

在我们生成类文件之前,我们也可以在 idea 的 Database 中的 某个表 中,右键:EasyCode --> Config Table,来修改字段类型和字段备注等。

idea 插件 Easy Code 自定义 MybatisPlus 模板一键快速生成所需代码

idea 插件 Easy Code 自定义 MybatisPlus 模板一键快速生成所需代码

五、快速生成代码

点击 idea 的 Database,选择其中一个表,右键:EasyCode --> Generate Code,来快速生成 entity 、mapper、service、controller 等文件。如下图所示:

idea 插件 Easy Code 自定义 MybatisPlus 模板一键快速生成所需代码

idea 插件 Easy Code 自定义 MybatisPlus 模板一键快速生成所需代码

其中 Package 路径为 Application 类的根路径。点击 "OK",实现代码的快速生成。

这个 Easy Code 插件,配合着自己定义的宏操作,用的确实太爽了,解放劳动力啊。生成完代码之后,我们只需要在其中写业务代码即可。文章来源地址https://www.toymoban.com/news/detail-419652.html

到了这里,关于idea 插件 Easy Code 自定义 MybatisPlus 模板一键快速生成所需代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MybatisPlus------MyBatisX插件:快速生成代码以及快速生成CRUD(十二)

    MyBatisX插件是IDEA插件,如果想要使用它,那么首先需要在IDEA中进行安装。 搜索\\\"MyBatisX\\\",点击Install,之后重启IDEA即可。 之后就可以在Mapper接口中,看到红色小鸟的标识,点击这个红色小鸟,会自动找到对应mapper.xml文件,以及文件中的方法。可以说十分方便。 在mapper.xml文件

    2024年02月04日
    浏览(44)
  • MybatisPlus 超好用的idea代码生成插件,及使用详解

    文章目录 前言 一、MybatisPlus简介 二、MybatisPlus 代码生成插件 1.插件安装与配置 2.生成代码结构、内容展示 3.表新增字段,重新生成实体类覆盖  总结 新需求来了,又添加了好几张表,总不能手写或者复制之前的代码,再一通修改吧?! 一张表需要添加好几个新字段,往实体

    2024年01月24日
    浏览(41)
  • EasyCode代码生成插件-模板分享(基于数据表生成MyBatisPlus格式的dao,service,controller和vue组件)

    目录 概述 使用演示 模板代码    实体类pojo   表现层controller 业务层service接口  业务层serviceImpl实现类 持久层dao Vue组件    本片博客用于分享EasyCode的自定义模板(模板在篇末),用于简化开发,免去重复性的工作。 作用: 1.根据数据库表,后端生成基于MyBatisPlus结构下的

    2024年02月10日
    浏览(57)
  • IDEA配合Docker插件进行一键部署

    服务器装好Docker环境,并且开放docker端口 且加密 给外部访问 参考:https://www.cnblogs.com/haoxianrui/p/15322508.html#1-docker-开启远程访问 springboot 中进行配置 多模块项目,在最外层的pom文件中进行 build 配置 编写 Dockerfile 配置文件 4. idea 中配置 docker ● 配置端口以及容器名字 这样的话

    2024年02月04日
    浏览(54)
  • idea一键自动生成对象所有get、set方法。idea插件:GenerateAllSetter

    idea中有一款插件能够一键自动生成对象所有的get、set方法,有助于我们开发者提升开发效率的插件,非常简单实用。 插件名: GenerateAllSetter 。 该插件作用是可以快速针对已有的model实体对象的属性生产get、set代码,免去开发者在开发过程中get、set属性值时还需要去实体对象

    2024年02月11日
    浏览(51)
  • IDEA 集成 Docker 插件一键部署 Spring Boot 应用

    🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请纠正! 随着容器化技术的崛起,Docker成为了现代软件开发的关键工具。在Java开发中,Spring Boot是一款备受

    2024年02月05日
    浏览(46)
  • 牛逼!一键生成整个项目类关系图,这款 IDEA 插件堪称神器!

    最近看源码就想找个uml的类图工具,网上看了一些,发现都是一些单个类的继承关系图,如果不知道的朋友,可以用uml插件工具搜索uml即可(uml support),然后每次点击右键后在菜单下面找Diagrams。 但是我们今天介绍的不是这个,而是另外一个不错的插件,叫code iris。这个是

    2024年04月09日
    浏览(46)
  • 【Docker】11、IDEA集成Docker插件实现一键部署SpringBoot项目

    日常开发项目的过程中,我们每次需要部署线上的时候,都需要安装一大堆的运行环境,例如:JDK、MySQL、Redis 等,非常花费时间、我们可以使用 Docker 的容器技术,方便快捷地搭建项目启动所需要的运行环境,本文介绍在开发工具 Idea 中安装 Docker 插件实现一键部署 SpringBo

    2024年02月09日
    浏览(42)
  • idea 自定义类注释模板和方法模板,无警告

       注意,空了一行,完全复制: param return 格式化有问题,可以研究一下语法解决一下,弄完需要格式化

    2024年02月16日
    浏览(47)
  • 【VS Code插件开发】自定义指令实现 git 命令 (九)

    🐱 个人主页: 不叫猫先生 ,公众号: 前端舵手 🙋‍♂️ 作者简介:前端领域优质作者、阿里云专家博主,共同学习共同进步,一起加油呀! ✨优质专栏:VS Code插件开发极速入门 📢 资料领取:前端进阶资料可以找我免费领取 我们通常会通过小乌龟、SourceTree、终端等实

    2024年03月14日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包