【第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 框架的开发效率,同时享受便捷的代码生成和模板自定义功能。

相关推荐
代码的余温9 分钟前
Redis vs Elasticsearch:核心区别深度解析
大数据·数据库·redis·elasticsearch
forestsea12 分钟前
Nacos-3.0.3 适配PostgreSQL数据库
数据库·postgresql
一 乐18 分钟前
医院排班|医护人员排班系统|基于springboot医护人员排班系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·后端·论文·毕设·医护人员排班系统
曾令胜1 小时前
Spring和mybatis整合后事务拦截器TransactionInterceptor开启提交事务流程
数据库·spring boot·mybatis
凯子坚持 c1 小时前
Redis数据类型概览:除了五大基础类型还有哪些?
数据库·redis·缓存
稚辉君.MCA_P8_Java2 小时前
HTTP的状态码有哪些,并用例子说明一下
java·服务器·jvm·http·kubernetes
the beard2 小时前
Java类加载与JVM详解:从基础到双亲委托机制
java·jvm
纪东东2 小时前
做一个实用的节假日工具
java·开发语言
毕设源码余学姐2 小时前
计算机毕设javayit商城 基于SSM框架的校园二手交易全流程管理系统设计与实现 Java+MySQL的校园二手商品交易与供需对接平台开发
java·mysql·课程设计
城管不管2 小时前
Session
java·运维·服务器·后端