最近发现之前用的MyBatis插件好久没更新了,想换个插件。无意间发现MyBatis-Plus团队也开发了插件MyBatisX。体验过后真的很好用。提示很全面,可以通过GUI生成代码。我把它推荐给了每一个人!SpringBoot实战电商项目商城(50k+star)地址:https://github.com/macrozheng/mallMybatisX简介MybatisX是一款基于IDEA的快速开发插件,由MyBatis-Plus团队开发维护,为效率而生。其主要功能如下:支持mapper.xml与Mapper接口之间方法的相互导航和跳转;内置代码生成器可以根据数据库使用GUI类代码的形式生成Domain、mapper.xml、Mapper、Service和Serviceimplementation;您可以自定义代码生成器模板;可以类JPA方式根据方法名直接在mapper.xml中生成查询实现,同时支持提示。使用接下来介绍MybatisX的使用。这里我以我的脚手架项目mall-tiny为例。安装前,我们需要在插件市场搜索并安装MyBatisX插件。安装完成后,我们会发现所有的Mapper接口和mapper.xml文件都变成了MyBatis的小鸟图标。XML与接口的交互我们点击Mapper接口方法左侧的图标直接跳转到mapper.xml对应的SQL实现,点击mapper.xml左侧的图标直接跳转到Mapper接口方法中对应的方法映射器接口。代码自动生成大家还记得我们之前在mall-tiny项目中写的手写代码生成器吗?MyBatisX直接集成了图形界面。下面就来体验一下吧。选择表后,右键直接生成对应表的增删改查代码。当然你也可以选择多张表,支持一次生成多张表;生成时可以通过GUI修改选项,比如修改基础包路径,实体类包路径等;生成时选择注解和模板类型为Mybatis-Plus3,如果需要可以勾选Lombok选项,修改mapper.xml的文件路径;点击确定后,会生成如下文件。还记得之前mall-tiny项目写的代码吗?代码生成器呢?有了GUI,你就不需要手写了!自定义生成器模板如果您觉得默认的代码生成器模板不能满足您的要求,您也可以尝试自定义模板。我们一般会在实体类中添加Swagger注解,方便API文档的生成。MyBatisX默认生成的实体类是没有Swagger注解的;MyBatisX也提供了生成带有Swagger注解的实体类的模板,但是有点复杂,不适合按照我的要求,我们可以修改生成的模板,都在extensions->MyBaitsX目录下;这里我们可以修改domain.ftl文件,最终文件内容如下;包${domain.packageName};importjava.io.Serializable;<#listtableClass.importListasfieldType>${"\n"}import${fieldType};#list>importio.swagger.annotations.ApiModelProperty;importio.swagger.annotations.ApiModel;importlombok.Data;importlombok.EqualsAndHashCode;importcom.baomidou.mybatisplus.annotation.TableName;/***${tableClass.remark!}*/@Data@EqualsAndHashCode(callSuper=false)@TableName("${tableClass.tableName}")@ApiModel(value="${tableClass.shortClassName}object",description="${tableClass.remark!}")公共类${tableClass.shortClassName}实现可序列化{privatestaticfinallongserialVersionUID=1L;<#listtableClass.allFieldsasfield>@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...
