【第27章】MyBatis-Plus之Mybatis X 插件

文章目录

  • 前言
  • 一、安装指南
  • 二、核心功能
    • [1.XML 映射跳转](#1.XML 映射跳转)
    • 2.代码生成
    • [3. 重置模板](#3. 重置模板)
  • [三、JPA 风格提示](#三、JPA 风格提示)
  • 四、常见问题解答
    • [1. JPA 提示功能无法使用?](#1. JPA 提示功能无法使用?)
    • [2. 生成的表名与预期不符?](#2. 生成的表名与预期不符?)
  • 五、代码生成模板配置
    • [1. 默认模板](#1. 默认模板)
    • [2. 重置默认模板](#2. 重置默认模板)
    • [3. 自定义模板内容](#3. 自定义模板内容)
      • [3.1 实体类信息](#3.1 实体类信息)
      • [3.2 字段信息](#3.2 字段信息)
      • [3.3 配置信息](#3.3 配置信息)
  • 总结

前言

MybatisX 是一款专为 IntelliJ IDEA 设计的快速开发插件,旨在提升 MyBatis 与 MyBatis-Plus 框架的开发效率。


一、安装指南

  1. 打开 IntelliJ IDEA。
  2. 进入 File -> Settings -> Plugins -> Browse Repositories
  3. 在搜索框中输入 mybatisx
  4. 找到 MybatisX 插件并点击安装。

支持开发者

如果您觉得 MybatisX 插件对您有帮助,请在插件页面给予五分好评,以支持开发者持续改进。

也欢迎大家参与 MyBatisX 插件的贡献,源码地址:MybatisX 源码

二、核心功能

1.XML 映射跳转

MybatisX 提供了便捷的 XML 映射文件与 Java 接口之间的跳转功能,让开发者能够快速地在两者之间切换,提高开发效率。

2.代码生成

通过 MybatisX,您可以轻松地根据数据库表结构生成对应的 Java 实体类、Mapper 接口及 XML 映射文件。

需要通过IDEA的database连接到数据库

3. 重置模板

MybatisX 允许您重置代码生成模板,以恢复到默认设置或自定义模板内容。

三、JPA 风格提示

MybatisX 支持 JPA 风格的代码提示,包括新增、查询、修改和删除操作的自动代码生成。

  • 生成新增操作
  • 生成查询操作
  • 生成修改操作
  • 生成删除操作

四、常见问题解答

1. JPA 提示功能无法使用?

JPA 提示功能依赖于 Mapper 接口与实体类之间的关联。确保您的 Mapper 满足以下任一条件:

  1. 继承了 mybatis-plus 的 BaseMapper。
  2. Mapper.xml 文件中包含 resultMap 标签。
  3. 在 Mapper 类上通过注释指定了实体类,例如:@Entity com.xx.xx.UserModel

2. 生成的表名与预期不符?

MybatisX 根据以下规则确定表名:

  1. 实体类上的 JPA 注解,如:@Table(name="t_user")
  2. 实体类上的 mybatis-plus 注解,如:@TableName("t_user")
  3. 实体类上的注释,如:@TableName com.xx.xx.UserModel
  4. 若以上规则均不满足,则将驼峰命名的类名转换为下划线命名,如:UserModel 对应表名 user_model

五、代码生成模板配置

MybatisX 提供了灵活的模板配置选项,允许开发者根据需要自定义代码生成模板。

1. 默认模板

Scratches and Consoles -> Extensions -> MybatisX 目录下,您可以找到默认提供的模板,如 default-all、default、mybatis-plus2、mybatis-plus3 等。

2. 重置默认模板

如需重置模板到默认设置,右键点击 MybatisX 目录,选择 Restore Default Extensions。

3. 自定义模板内容

MybatisX 允许您根据项目需求自定义模板内容,包括实体类、表名、字段信息等。

3.1 实体类信息

  • tableClass.fullClassName: 类的全限定名。
  • tableClass.shortClassName: 类的简称。
  • tableClass.tableName: 表名。
  • tableClass.pkFields: 表的主键字段。
  • tableClass.allFields: 表的所有字段。
  • tableClass.baseFields: 排除主键和 blob 的所有字段。
  • tableClass.baseBlobFields: 排除主键的所有字段。
  • tableClass.remark: 表注释。

3.2 字段信息

  • 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: 是否允许为空。

3.3 配置信息

  • baseInfo.shortClassName: 配置名称。
  • baseInfo.tableName: 配置文件名称。
  • baseInfo.pkFields: 配置名称。
  • baseInfo.allFields: 后缀。
  • baseInfo.baseFields: 包名。
  • baseInfo.baseBlobFields: 模板内容。
  • baseInfo.remark: 相对模块的资源文件路径。

总结

回到顶部

通过 MybatisX 插件,您可以大幅提升 MyBatis 与 MyBatis-Plus 框架的开发效率,同时享受便捷的代码生成和模板自定义功能。

相关推荐
joker_zsl4 分钟前
linux下JDK的安装
java·linux·开发语言
Dnui_King12 分钟前
Oracle数据库加密与安全
数据库·安全·oracle
Fuliy9615 分钟前
前后端,数据库以及分布式系统
大数据·前端·数据库·分布式·后端·前端框架·database
Yan-英杰20 分钟前
【BUG】已解决:NameError: name ‘XXX‘ is not defined
java·开发语言·python·opencv·bug
超低空MC29 分钟前
车载音视频App框架设计
android·java·架构·音视频·安卓
susu108301891133 分钟前
在Java中,使用正则表达式来判断字符串中是否包含特定的特殊字符,并将其替换为逗号
java
肉肉rrose33 分钟前
【Python进阶】正则表达式、pymysql模块
开发语言·数据库·mysql·正则表达式·pycharm·pymysql
~蓝桉36 分钟前
u-popup,不希望出现滚动条
java·前端·javascript
北鸟南游43 分钟前
Java并发编程与高并发解决方案笔记
java·笔记·lua
俄罗斯牛栏山1 小时前
mysql的索引事务和存储引擎
数据库·mysql