SpringBoot + MybatisX,真香!

大模型关系型数据库容器服务

picture.image

苏三的免费八股文网站:

www.susan.net.cn

MyBatisX 是一款非常好用的Mybatis插件,提示很全,而且还能通过GUI生成代码,推荐给大家!

MybatisX简介

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

它的主要功能如下:

  • 支持mapper.xml和Mapper接口之间方法的互相导航跳转;

  • 内置代码生成器,通过使用GUI的形式,能根据数据库来生成Domain、mapper.xml、Mapper、Service和Service实现类代码;

  • 可以自定义代码生成器模板;

  • 可以通过类似JPA的方式,直接根据方法名称在mapper.xml中生成查询实现,同时支持提示。

  • 我的AI项目开发课程

  • 我的技术成长之路

  • 这5个项目,yyds

使用

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

安装

在使用前我们需要在插件市场中搜索并安装MyBatisX插件。

picture.image

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

picture.image

XML与接口互跳

我们点击Mapper接口方法左侧的图标可以直接跳转到mapper.xml对应的SQL实现,在mapper.xml点击左侧图标也可以直接跳转到Mapper接口中对应的方法。

picture.image

自动生成代码

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

  • 选中表以后右键可以直接生成对应表的CRUD代码,当然你也可以多选,支持一次性生成多表;

picture.image

  • 生成的时候可以通过GUI来修改选项,比如修改基础包路径、实体类包路径等;

picture.image

  • 生成时选择注解和模板类型为Mybatis-Plus 3,有需要的话可以勾选Lombok选项以及修改mapper.xml的文件路径;

picture.image

  • 点击确认后将生成如下文件,还记得之前在mall-tiny项目中用代码写的代码生成器么,有了GUI就用不着手写了!

picture.image

自定义生成模板

如果你觉得默认的代码生成器模板不符合你的要求,还可以试试自定义模板。

  • 我们一般会在实体类中加入Swagger的注解,方便API文档的生成,MyBatisX默认生成的实体类是不带Swagger注解的;

picture.image

  • MyBatisX也提供了生成带Swagger注解的实体类模板,但是有点复杂不太符合我的要求,我们可以修改下生成模板,生成模板都在 extensions->MyBaitsX 目录下;

picture.image

  • 这里我们修改下 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注解的实体类;

picture.image

  • 生成完成后实体类就会带上Swagger注解了,是不是很方便!

picture.image

JPA提示

MyBatisX还有个强大的功能,可以根据JPA风格的方法名直接生成SQL实现,无需手写SQL。

  • 例如我们想写个批量插入数据方法,就可以这样来操作;

picture.image

  • 例如我们想写个根据名称查询品牌的方法,MyBatisX会像JPA一样自动提示字段,并且能自动生成SQL实现;

picture.image

  • 例如我们想写个根据ID修改品牌名称的方法;

picture.image

  • 例如我们想写个根据名称删除品牌的方法,MyBatisX的JPA提示还是非常全面的!

picture.image

图标设置

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

picture.image

总结

MyBatisX确实是一款非常好用的IDEA插件,不仅提示全面,而且自带了图形化的代码生成器,能极大地提高我们的开发效率。MyBatisX中的JPA提示功能也非常不错,只要你的方法命名符合JPA规范,就能自动生成SQL实现,确实是个好功能。

参考资料

官方文档: https://baomidou.com/pages/ba5b24/


最后欢迎

加入苏三的星球

,你将获得:AI开发项目课程、苏三AI项目、

商城微服务实战、秒杀系统实战

商城系统实战、秒杀系统实战、代码生成工具、系统设计、性能优化、技术选型、底层原理、Spring源码解读、工作经验分享、痛点问题

、面试八股文

等多个优质专栏。

还有1V1答疑、修改简历、职业规划、送书活动、技术交流。

扫描下方二维码,即可加入星球:

picture.image

目前星球已经更新了 5200+ 篇优质内容,还在持续爆肝中.....

星球已经被 官方推荐了3次 ,收到了小伙伴们的一致好评。戳我加入学习,已有 1600+ 小伙伴加入学习。

picture.image

苏三的免费八股文网站:

www.susan.net.cn

picture.image

picture.image

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论