共计 2343 个字符,预计需要花费 6 分钟才能阅读完成。
最近发现之前应用的 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…