• idea mybatis-plus之MybatisX插件小知识(代码生成 哦)


    文章顺序及整体目录可查看(点我即可)

    1.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接口中对应的方法。
    (可以是实现Mapper跳转到对应方法中的功能)

    在这里插入图片描述

    2.自动生成代码

    MyBatisX直接整了个带图形化界面的,下面我们来体验下。

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

    请添加图片描述

    在这里插入图片描述
    写入host和账号密码之后点击测试即可;第一次可能会下载驱动程序大家正常下载即可;
    测试通过我们保存即可;

    在这里插入图片描述

    在这里插入图片描述

    生成的时候可以通过修改选项,比如修改基础包路径、实体类包路径等;
    默认是这样的

    在这里插入图片描述
    在这里插入图片描述
    生成到同路径的子包下面

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

    在这里插入图片描述


    单独生成一个文件夹

    在这里插入图片描述

    在这里插入图片描述

    点击确认后将生成如下文件
    在这里插入图片描述

    自定义生成模板

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

    我们一般会在实体类中加入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>
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    生成完成后实体类就会带上Swagger注解了,是不是很方便!
    在这里插入图片描述

    JPA提示

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

    例如我们想写个批量插入数据方法,就可以这样来操作;
    在这里插入图片描述
    例如我们想写个根据名称查询品牌的方法,MyBatisX会像JPA一样自动提示字段,并且能自动生成SQL实现;
    在这里插入图片描述

    例如我们想写个根据ID修改品牌名称的方法;
    在这里插入图片描述

    图标设置

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

    在这里插入图片描述

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

    官方文档:https://baomidou.com/pages/ba5b24/
    参考文章:https://mp.weixin.qq.com/s/IkSwjT01H1mLtHK0xb14wA

  • 相关阅读:
    如何编写整洁的代码
    LSF集群基本概念介绍
    CentOS下多网卡绑定多IP段时导致只有一个会通的问题解决
    防止SQL注入攻击的综合解决方案
    【python pandas groupby】
    argparse模块介绍
    FPGA驱动SDRAM
    关于小程序session_key漏洞问题的解决2022-12-01
    熟练利用切片操作
    Java毕业设计-场地租赁管理系统
  • 原文地址:https://blog.csdn.net/qq_42055933/article/details/126495406