MyBatisX插件介绍
MybatisX 是一款用于 IntelliJ IDEA 的插件,旨在帮助开发者更便捷地进行 MyBatis XML 配置文件的编写和调试。它提供了许多功能和工具,以简化 MyBatis 开发流程。
以下是 MyBatisX 插件的一些主要功能:
- 自动生成代码:MyBatisX 可以根据数据库表结构自动生成 MyBatis 相关的实体类、Mapper 接口和 XML 配置文件,大大减少了手动编写代码的工作量。
- 提供代码补全和跳转:MyBatisX 支持在 XML 配置文件中进行代码补全和跳转,方便开发者快速编写和修改配置文件,并且可以跳转到相应的定义位置。
- 提供参数和返回值类型推断:MyBatisX 能够根据 SQL 语句和映射关系推断出参数和返回值的类型,提供更准确的代码补全和错误检查。
总而言之,MyBatisX 插件为开发者简化了 MyBatis XML 配置文件的编写和调试过程,提高了开发效率。MyBatisX 是一款基于 IDEA 的快速开发插件,为效率而生。
参考官方文档:https://baomidou.com/pages/ba5b24/#%E5%8A%9F%E8%83%BD
MyBatisX插件安装
在线安装
进入 Settings -> Plugins -> Marketplace -> 在搜索框输入MyBatisX
,点击Installed
安装,效果如下图:
MyBatisX安装后不需要重启IDEA,可以直接使用。
离线安装
有可能因为网络原因无法在线安装,可以通过关注公众号【程序员平安】回复消息【1010】 获取安装包,根据自己的IDEA版本下载对应的插件,效果如下图:
离线安装步骤如下:
进入 Settings -> Plugins -> 设置按钮 -> Install Plugin from Disk... -> 选择下载的安装包,效果如下图:
MyBatisX插件使用
XML和接口跳转
生成XML配置
生成代码
需先在IDEA配置Database配置数据源,参照《IDEA连接数据库》
JPA 提示
JPA 提示的方式需要根据 Mapper 找到实体类,找到实体类有以下三种方式:
- 继承 mybatis-plus 的 BaseMapper
- Mapper.xml 文件有 resultMap 标签
- 在 Mapper 类上增加注释指定实体类, 例如: @Entity com.xx.xx.UserModel
这里使用第二种方式,Mapper.xml 文件有 resultMap 标签,效果如下图:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.cxypa.dao.EmpMapper"> <!-- 配置ResultMap,为了让JPA有提示 --> <resultMap id="rm" type="com.cxypa.pojo.Emp"> </resultMap> </mapper>
1. 生成新增
2. 生成查询
3. 生成修改
4. 生成删除
生成代码的模板配置
按照指定目录找到插件模板配置目录 Scratches and Consoles -> Extensions -> MybatisX
这里会提供默认模板: 例如在 1.4.13 提供了模板: default-all,default,mybatis-plus2,mybatis-plus3
如果想重置默认模板, 可以右键点击 MybatisX 目录,选择 Restore Default Extensions 选项
自定义模板内容
名称 |
含义 |
tableClass.fullClassName |
类的全称(包括包名) |
tableClass.shortClassName |
类的简称 |
tableClass.tableName |
表名 |
tableClass.pkFields |
表的所有主键字段 |
tableClass.allFields |
表的所有字段 |
tableClass.baseFields |
排除主键和 blob 的所有字段 |
tableClass.baseBlobFields |
排除主键的所有字段 |
tableClass.remark |
表注释 |
字段信息
名称 |
含义 |
field.fieldName |
字段名称 |
field.columnName |
列名称 |
field.jdbcType |
jdbc 类型 |
field.columnLength |
列段长度 |
field.columnScale |
列的精度 |
field.columnIsArray |
字段类型是不是数组类型 |
field.shortTypeName |
java 类型短名称, 通常用于定义字段 |
field.fullTypeName |
java 类型的长名称, 通常用于导入 |
field.remark |
字段注释 |
field.autoIncrement |
是否自增 |
field.nullable |
是否允许为空 |
配置信息
名称 |
含义 |
baseInfo.shortClassName |
配置名称 |
baseInfo.tableName |
配置文件名称 |
baseInfo.pkFields |
配置名称 |
baseInfo.allFields |
后缀 |
baseInfo.baseFields |
包名 |
baseInfo.baseBlobFields |
模板内容 |
baseInfo.remark |
相对模块的资源文件路径 |
新增模板
MybatisX插件设置
用户可以对MybatisX插件进行设置,效果如下图: