乐趣区

关于java:还在手写SQL实现试试MyBatisPlus同款IDEA插件吧提示太全了还能一键生成代码

最近发现之前应用的 MyBatis 插件很久都没更新了,就想换个其余插件来用用。偶尔发现 MyBatis-Plus 团队也开发了一款插件MyBatisX,体验了一把的确十分好用,提醒很全,而且还能通过 GUI 生成代码,举荐给大家!

SpringBoot 实战电商我的项目 mall(50k+star)地址:https://github.com/macrozheng/mall

MybatisX 简介

MybatisX 是一款基于 IDEA 的疾速开发插件,由 MyBatis-Plus 团队开发保护,为效率而生。

它的次要性能如下:

  • 反对 mapper.xml 和 Mapper 接口之间办法的相互导航跳转;
  • 内置代码生成器,通过应用 GUI 的模式,能依据数据库来生成 Domain、mapper.xml、Mapper、Service 和 Service 实现类代码;
  • 能够自定义代码生成器模板;
  • 能够通过相似 JPA 的形式,间接依据办法名称在 mapper.xml 中生成查问实现,同时反对提醒。

应用

接下来介绍下 MybatisX 的应用,这里以我的脚手架我的项目 mall-tiny 为例。

装置

在应用前咱们须要在插件市场中搜寻并装置 MyBatisX 插件。

装置实现后咱们会发现所有的 Mapper 接口和 mapper.xml 文件都变成了 MyBatis 的小鸟图标。

XML 与接口互跳

咱们点击 Mapper 接口办法左侧的图标能够间接跳转到 mapper.xml 对应的 SQL 实现,在 mapper.xml 点击左侧图标也能够间接跳转到 Mapper 接口中对应的办法。

主动生成代码

还记得之前在 mall-tiny 我的项目中咱们手写的代码生成器么,MyBatisX 间接整了个带图形化界面的,上面咱们来体验下。

  • 选中表当前右键能够间接生成对应表的 CRUD 代码,当然你也能够多选,反对一次性生成多表;
  • 生成的时候能够通过 GUI 来批改选项,比方批改根底包门路、实体类包门路等;
  • 生成时抉择注解和模板类型为 Mybatis-Plus 3,有需要的话能够勾选 Lombok 选项以及批改 mapper.xml 的文件门路;
  • 点击确认后将生成如下文件,还记得之前在 mall-tiny 我的项目中用代码写的代码生成器么,有了 GUI 就用不着手写了!

自定义生成模板

如果你感觉默认的代码生成器模板不合乎你的要求,还能够试试自定义模板。

  • 咱们个别会在实体类中退出 Swagger 的注解,不便 API 文档的生成,MyBatisX 默认生成的实体类是不带 Swagger 注解的;
  • MyBatisX 也提供了生成带 Swagger 注解的实体类模板,然而有点简单不太合乎我的要求,咱们能够批改下生成模板,生成模板都在 extensions->MyBaitsX 目录下;
  • 这里咱们批改下 domain.ftl 文件即可,最终文件内容如下;
package ${domain.packageName};

import java.io.Serializable;
<#list tableClass.importList as fieldType>${"\n"}import ${fieldType};</#list>
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.baomidou.mybatisplus.annotation.TableName;

/**
* ${tableClass.remark!}
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("${tableClass.tableName}")
@ApiModel(value="${tableClass.shortClassName}对象", description="${tableClass.remark!}")
public class ${tableClass.shortClassName} implements Serializable {

    private static final long serialVersionUID=1L;

<#list tableClass.allFields as field>
    @ApiModelProperty("${field.remark!}")
    private ${field.shortTypeName} ${field.fieldName};

</#list>
}
  • 而后再运行代码生成器,抉择只生成带 Swagger 注解的实体类;
  • 生成实现后实体类就会带上 Swagger 注解了,是不是很不便!

JPA 提醒

MyBatisX 还有个弱小的性能,能够依据 JPA 格调的办法名间接生成 SQL 实现,无需手写 SQL。

  • 例如咱们想写个批量插入数据办法,就能够这样来操作;
  • 例如咱们想写个依据名称查问品牌的办法,MyBatisX 会像 JPA 一样主动提醒字段,并且能主动生成 SQL 实现;
  • 例如咱们想写个依据 ID 批改品牌名称的办法;
  • 例如咱们想写个依据名称删除品牌的办法,MyBatisX 的 JPA 提醒还是十分全面的!

图标设置

如果你不想 Mapper 接口和 mapper.xml 文件都变成小鸟图标的话,能够做在 MyBatisX 的设置中进行批改。

总结

MyBatisX 的确是一款十分好用的 IDEA 插件,不仅提醒全面,而且自带了图形化的代码生成器,能极大地提高咱们的开发效率。MyBatisX 中的 JPA 提醒性能也十分不错,只有你的办法命名合乎 JPA 标准,就能主动生成 SQL 实现,的确是个好性能。

参考资料

官网文档:https://baomidou.com/pages/ba…

退出移动版