MyBatis-Plus 扩展-MybatisX快速开发插件

MybatisX 是一款基于 IDEA 的快速开发插件,为效率而生。

安装方法:打开 IDEA,进入 File -> Settings -> Plugins -> Browse Repositories,输入 ​mybatisx搜索并安装。

功能

XML跳转

mybatisx-jump

生成代码(需先在 idea 配置 Database 配置数据源)

mybatisx-generate

重置模板

mybatisx-reset-template

JPA 提示

生成新增

mybatisx-tip-insert

生成查询

mybatisx-tip-select

生成修改

mybatisx-tip-update

生成删除

mybatisx-tip-delete

常见问题

为什么 JPA 不能使用?

JPA 提示的方式需要根据 Mapper 找到实体类, 找到实体类有以下五种方式

  • 继承 ​mybatis-plus​ 的 ​BaseMapper
  • Mapper.xml​ 文件有 ​resultMap标签
  • 在 ​Mapper类上增加注释指定实体类, 例如: ​@Entity com.xx.xx.UserModel

为什么生成的表名和期望的表名不一致

JPA 提示生成代码, 按照以下规则找到表名

  • 实体类有 ​JPA注解, 例如: ​@Table(name="t_user")
  • 实体类有 ​mybais-plus​ 注解, 例如: ​@TableName("t_user")
  • 实体类有注释: ​@TableName com.xx.xx.UserModel
  • 如果不存在以上规则, 将驼峰转下划线. 例如 ​UserMode的表名为: ​user_model

生成代码的模板配置

按照指定目录找到插件模板配置目录 Scratches and Consoles -> Extensions -> MybatisX

这里会提供默认模板: 例如在 1.4.13 提供了模板: ​default-all​,​default​,​mybatis-plus2​,​mybatis-plus3

如果想重置默认模板, 可以右键点击 MybatisX 目录,选择 ​Restore Default Extensions​ 选项

mybatisx-template-setting

自定义模板内容

 名称 含义
 ​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 相对模块的资源文件路径

作者:唐伯虎点蚊香,如若转载,请注明出处:https://www.web176.com/mybatis-plus/20381.html

(0)
打赏 支付宝 支付宝 微信 微信
唐伯虎点蚊香的头像唐伯虎点蚊香
上一篇 2023年5月16日
下一篇 2023年5月16日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注