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

news2024/11/15 3:29:04

文章目录

  • 前言
  • 一、安装指南
  • 二、核心功能
    • 1.XML 映射跳转
    • 2.代码生成
    • 3. 重置模板
  • 三、JPA 风格提示
  • 四、常见问题解答
    • 1. JPA 提示功能无法使用?
    • 2. 生成的表名与预期不符?
  • 五、代码生成模板配置
    • 1. 默认模板
    • 2. 重置默认模板
    • 3. 自定义模板内容
      • 3.1 实体类信息
      • 3.2 字段信息
      • 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 框架的开发效率,同时享受便捷的代码生成和模板自定义功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1925075.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pico+unity3d运行测试方法

一. 发布并运行程序 这个就很简单,电脑和pico数据库连接、pico打开开发者模式、运行的时候选择设备pico 二. pico串流助手 1.需要先下载pico的软件 PICO Developer Center、并安装串流助手、这种方式的话,安装了向日葵的小伙伴可能有冲突、百度一下解…

计算机图形学入门28:相机、透镜和光场

1.前言 相机(Cameras)、透镜(Lenses)和光场(Light Fields)都是图形学中重要的组成部分。在之前的学习中,都是默认它们的存在,所以现在也需要单独拿出来学习下。 2.成像方法 计算机图形学有两种成像方法,即合成(Synthesis)和捕捉(Capture)。前…

java框架-struts2

文章目录 1. struts2访问流程&架构&介绍2. 搭建struts2框架3. strust.xml配置详解4. Action生命周期5. ActionContext内容6. 访问servletAPI方式7. jsp获得8. Action接收参数9. struts、hibernate的javassist-3.18.1-GA.jar包重复,删除版本低的.10. OGNL表达式10.1. OG…

Unity中一键生成具有身体感知的虚拟人物动作

在虚拟现实(VR)和增强现实(AR)的浪潮中,如何让虚拟人物的动作更加自然、真实,已经成为一个重要课题。AI4Animation项目,一个由 Sebastian Starke 主导的开源框架,为Unity开发者提供了强大的工具集,以实现这一目标。本文…

唐刘:当 SaaS 爱上 TiDB(一)- 行业挑战与 TiDB 的应对之道

导读 在 TiDB 8.1 发布后,TiDB 展现了强大的支持 SaaS 业务的能力,成为 SaaS 业务数据库的优先选择之一。 本文为“当 SaaS 爱上 TiDB”系列文章的第一篇,系列文章将从技术原理和真实用户体验两个角度深入探讨 TiDB 在 SaaS 业务中的表现&a…

idm站点抓取可以用来做什么 idm站点抓取能抓取本地网页吗 idm站点抓取怎么用 网络下载加速器

在下载工具众多且竞争激烈的市场中,Internet Download Manager(简称IDM)作为一款专业的下载加速软件,仍然能够赢得众多用户的青睐,这都要得益于它的强大的下载功能。我们在开始使用IDM的时候总是有很多疑问&#xff0c…

Mysql具体数据操作和表的约束(上)

表中数据的增删改查 插入数据(添加数据) 1.按指定字段插入数据:insert into <表名> (字段1,字段2,...) values (),(),.... 注意1:values后面的括号是指行数(几条记录),一个括号表示插入一条记录,多个括号以此类推 注意2:values后面括号内部插入的数据…

[C++] 由浅入深理解面向对象思想的组成模块

文章目录 (一) 类的默认成员函数(二) 构造函数构造函数的特征构造函数示例无参构造带参构造 冲突:全缺省参数的构造函数与无参构造函数 &#xff08;三&#xff09;析构函数特性析构函数的析构过程解析 &#xff08;四&#xff09;拷贝构造函数什么是拷贝构造&#xff1f;特性为…

Solana Blink和SEND的崛起:技术与市场效应的结合

随着Solana生态系统的不断发展&#xff0c;新的项目和技术不断涌现&#xff0c;吸引了大量的关注和投资。最近&#xff0c;Solana的Blink项目及其相关的SEND代币成为了市场的焦点&#xff0c;引发了广泛的讨论和投资热潮。本文将探讨Blink和SEND的技术创新、市场表现以及未来的…

大模型高效参数微调技术

文章目录 一、Fine-Tuning&#xff1a;微调二、Prompt-Tuning&#xff1a;提示调优2.1 工作原理2.2 PET (Pattern-Exploiting Training)2.3 Prompt-Tuning集成2.4 模板构建方式 三、Prefix Tuning&#xff1a;连续提示模板3.1 提出动机3.2 工作原理 四、P-Tuning V1/V24.1 P-Tu…

NFT如何解决音乐版权的问题

音乐版权问题一直困扰着音乐产业。传统的音乐版权管理模式存在以下问题。需要注意的是&#xff0c;NFT在音乐版权领域仍处于早期发展阶段&#xff0c;存在一些需要解决的问题&#xff0c;例如技术标准不统一、应用场景有限、法律法规不明朗等。但随着技术的进步和市场的完善&am…

【分库】分库的设计与原则、数据分片策略、垂直分库与水平分库、数据库引擎选择与配置优化

目录 引言 分库设计原则 数据分片策略的选择 垂直分库 vs 水平分库的比较 数据库引擎选择与配置优化 引言 在面对日益增长的数据量和不断升级的业务需求时&#xff0c;传统的单体数据库架构往往难以应对高并发、大数据量带来的性能瓶颈。为了突破这些限制&#xff0c;分库…

windows USB 设备驱动开发-USB 功能控制器驱动开发(二)

USB 功能客户端驱动程序使用的 UFX 对象和句柄 USB 函数类扩展 (UFX) 使用 WDF 对象功能来定义这些特定于 USB 的 UFX 对象。 重要的 API UfxDeviceCreateUfxEndpointCreate USB 函数类扩展 (UFX) 使用 WDF 对象功能来定义这些特定于 USB 的 UFX 对象。 这些对象是 WDF 对…

怎样优化 PostgreSQL 中对复杂条件筛选的执行效率?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01;&#x1f4da;领书&#xff1a;PostgreSQL 入门到精通.pdf 文章目录 怎样优化 PostgreSQL 中对复杂条件筛选的执行效率&#xff1f;一、理解复杂条件筛选的挑战二、优化索引…

实现多层感知机

目录 多层感知机&#xff1a; 介绍&#xff1a; 代码实现&#xff1a; 运行结果&#xff1a; 问题答疑&#xff1a; 线性变换与非线性变换 参数含义 为什么清除梯度&#xff1f; 反向传播的作用 为什么更新权重&#xff1f; 多层感知机&#xff1a; 介绍&#xff1a;…

Linux: Mysql环境安装

Mysql环境安装&#xff08;Centos&#xff09; 前言一、卸载多余环境1.1 卸载mariadb1.2 查看并卸载系统mysql和mariadb安装包 二、换取mysql官方yum源三、安装并启动mysql服务3.1 yum源加载3.2 安装yum源3.3 安装mysql服务3.3.1 安装指令3.3.2 GPG密钥问题解决方法3.3.3 查看是…

LabVIEW液压数据采集测试系统

液压系统是装载机的重要组成部分&#xff0c;通过液压传动和控制实现各项作业功能&#xff0c;如提升、倾斜、转向等。液压系统的性能直接影响装载机的作业效率和稳定性。为了保证装载机液压系统的正常运行和优化设计&#xff0c;需要对其进行数据采集和测试。本文介绍了一套基…

Python酷库之旅-第三方库Pandas(022)

目录 一、用法精讲 55、pandas.lreshape函数 55-1、语法 55-2、参数 55-3、功能 55-4、返回值 55-5、说明 55-6、用法 55-6-1、数据准备 55-6-2、代码示例 55-6-3、结果输出 56、pandas.wide_to_long函数 56-1、语法 56-2、参数 56-3、功能 56-4、返回值 56-5…

Linux文件压缩与解压缩

在Linux中&#xff0c;tar实用程序是用于创建、管理和提取存档的常用命令。 tar实用程序的常用选项 执行tar操作需要以下tar命令操作之一&#xff1a; -c &#xff0c;--create &#xff1a;创建存档文件&#xff08;即压缩文件&#xff09;。-t&#xff0c;--list&#xff1…

0708,LINUX目录相关操作 + LINUX全导图

主要是冷气太足感冒了&#xff0c;加上少吃药抗药性差&#xff0c;全天昏迷&#xff0c;学傻了学傻了 01&#xff1a;简介 02&#xff1a; VIM编辑器 04&#xff1a;目录 05&#xff1a;文件 03&#xff1a;常用命令 06&#xff1a;进程 07&#xff1a;进程间的通信 cat t_c…