MybatisX简介
前言
个人在开发过程中对MybatisX插件的了解及经验总结
一、什么是MybatisX
MybatisX 是一款基于 IntelliJ IDEA 平台的 MyBatis 开发插件,主要为开发者提供便捷的 MyBatis 开发工具,使开发者更加高效地开发 MyBatis 应用程序。
MybatisX 的主要功能包括以下几个方面:
- SQL 智能提示和补全:MybatisX 可以智能地提示和补全 SQL 语句中的关键字、表名、列名等信息,从而提高开发效率。
- 代码生成器:MybatisX 提供了一个强大的代码生成器,可以根据数据库表结构自动生成 Mapper 接口、Mapper XML 文件和 Java 实体类,减少重复劳动和降低出错率。
- XML 校验器:MybatisX 可以根据 XSD Schema 对 Mapper XML 文件进行验证,帮助开发者及时发现和解决 XML 文件中的语法错误。
- 参数映射:MybatisX 可以自动将 Java 方法参数与 Mapper XML 文件中的 SQL 语句参数进行映射,减少手动编写参数映射代码。
- 一键运行:MybatisX 提供了一键运行的功能,可以直接在编辑器中运行 SQL 语句,查看执行结果和日志输出,方便调试和排错。
二、如何使用?
1.安装插件
在插件市场中搜索“mybatisx”,然后点击安装即可。
2.创建一个mybatis项目或者于项目中引入mybatis依赖
- meven依赖
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
</dependencies>
- Gradle
dependencies {
implementation 'org.mybatis:mybatis:3.5.7'
}
3.快速生成示例
3.1 快速生成mapper方法
-
于mapper中输入所需的方法名。比如getXXXX,会出现如下代码提示:
-
将方法名填写完整后,将鼠标悬浮于方法名上会出现:
-
点击更多操作会出现:
-
点击之后MybatisX会自动编写该方法及对应的mapper.xml
3.2 MybatisX-Generator
MybatisX-Generator 是 MybatisX 插件中的一个功能模块,主要用于自动生成 MyBatis 的 Mapper 接口、Mapper XML 文件和 Java 实体类,减少开发者的重复劳动和降低出错率。
使用该模块的前提是使用IDEA连接到总结的数据库
- 选择数据源,此处以mysql为例
- 输入对应信息
- 链接成功后
- 选择需要生成的数据右键
点击后进入实体类生成,其中部分参数说明:
- module path:模块路径,此处填写项目所在路径,生成的代码会在相应位置。
- basepackage:填写项目的包
- encoding:编码,使用UTF-8即可
- base path:代码所在路径
- relative package:决定实体类会被生成在哪里,默认生成在domain包中,可以修改为其他包但不要为空。
- extra class suffix:生成的实体类后面会加上里面的内容。举例:图中如果这里写入Test,最后生成实体类会叫FilesTest
- ignore table prefix:生成实体类相应字段中忽略指定的前缀
- ignore table suffix:生成实体类相应字段中忽略指定的后缀
点击下一步后进入mapper及service的生成,其中部分参数说明:
- annotation:生成的代码中是否加上注解(例如,@TableName等注解)。None为没有注解,其他为字面意思。
- options各选项经过尝试后,作用大致如下
- toString/hashCode/equals:是否生成相应的方法。
- Lombok:勾选后实体类自动添加Lombok的@Data注解。
- Actual Column:勾选后,生成的实体类属性名和表中字段名大小写会保持一致。例如,表中有字段classID,勾选该选项后生成的属性名也为classID,未勾选则为classid。
- Actual Column Annotation:是否对所有属性名都加上注解标明对应字段,例如@TableName。
- JSR310:Data API:是否使用新标准的时间日期API,包括 Instant、Clock、LocalDateTime、DateTimeFormatter、ZonedDateTime 以及替换 Calendar 的 Chronology 等类。
- template:生成mapper、service等相关代码所使用的模板。
如果没有使用MybatisPlus,可以选择default-empty模板。或自定义其他模板。
点击完成即可完成生成