最近发现之前应用的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...