mybatisplus和mybatisX

Later

MyBatis Plus 和 MyBatisX 是与 MyBatis 相关的两个工具或扩展,但它们的用途和功能各不相同。以下是对它们的详细介绍:

1. MyBatis Plus

MyBatis Plus (MP) 是 MyBatis 的增强版,它在 MyBatis 的基础上进行了扩展,提供了更多开箱即用的功能,从而减少了开发人员的工作量。它的主要目标是提高开发效率,同时保持 MyBatis 的灵活性和可扩展性。

主要特性:

  • 无代码生成器:提供了丰富的 CRUD(Create, Read, Update, Delete)接口,几乎可以做到零代码 CRUD 操作。
  • 全局配置:支持全局配置,便于统一管理 MyBatis 的相关设置。
  • 插件支持:内置分页插件、性能分析插件、乐观锁插件、SQL 执行分析插件等,提供了增强的功能。
  • 代码生成器:提供代码生成器,能够根据数据库表快速生成实体类、Mapper 接口、Service、Controller 等代码。
  • 条件构造器:提供链式调用的条件构造器,简化 SQL 语句的书写。

使用场景:

  • 快速开发项目中大量的增删改查操作。
  • 需要较多动态 SQL 的项目,MyBatis Plus 提供了非常灵活的条件构造器。
  • 需要分页查询、数据审计(如创建时间、更新时间记录)等常见功能的场景。

示例代码:

1
2
3
4
5
6
7
// 示例:使用 MyBatis Plus 进行简单的查询操作
public void getUsers() {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 20);
List<User> users = userMapper.selectList(queryWrapper);
users.forEach(System.out::println);
}

2. MyBatisX

MyBatisX 是一款专门为 MyBatis 和 MyBatis Plus 提供支持的 IntelliJ IDEA 插件。它旨在提高开发人员在使用 MyBatis 及其增强框架时的开发效率。该插件通过集成各种智能提示和自动化功能,帮助开发人员更快、更高效地完成开发任务。

主要功能:

  • Mapper XML 文件的代码提示:提供 Mapper XML 文件中标签、属性、SQL 语句等的智能提示和补全。
  • SQL 语句预览:在编写 XML 中的 SQL 语句时,可以实时预览最终的 SQL 语句。
  • 动态 SQL 支持:提供对 MyBatis 中动态 SQL 的智能分析和提示功能。
  • 双向跳转:在 Mapper 接口方法和对应的 XML 映射文件中的 SQL 语句之间支持快速跳转。
  • 代码生成:支持从数据库表生成 MyBatis 的基础代码(如实体类、Mapper、Service 等)。

使用场景:

  • 使用 IntelliJ IDEA 进行 MyBatis 或 MyBatis Plus 项目开发时,需要增强 IDE 对这些框架的支持。
  • 需要频繁编写 Mapper XML 文件的项目,MyBatisX 可以大幅提高开发效率。

功能描述:

  • 当你在 IDEA 中打开一个 Mapper 接口时,MyBatisX 会为你提供接口方法和 XML 文件中 SQL 语句之间的跳转功能。
  • 当你在 XML 文件中编写 SQL 语句时,插件会自动补全标签名、属性名等,极大地减少了手动输入的工作量。

总结

  • MyBatis Plus 是 MyBatis 的一个增强工具,提供了大量的开箱即用功能,适合快速开发和减少重复代码。
  • MyBatisX 是一款 IDEA 插件,主要用来提升开发 MyBatis 和 MyBatis Plus 项目时的效率,通过智能提示、自动补全、代码生成等功能,帮助开发人员更快地完成开发任务。

两者可以结合使用:MyBatis Plus 用于简化业务逻辑开发,MyBatisX 用于提高开发效率。

MyBatisX怎么生成基本代码?

使用MyBatisX插件生成代码之前需要集成mybatis-plus框架,并且需要下载mybatisX插件。

1
2
3
4
5
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starer</artifactId>
<version>3.5.3.2</version>
</dependency>

完整pom.xml文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.9</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.atguigu</groupId>
<artifactId>hello-mp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>hello-mp</name>
<description>hello-mp</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.2</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>

第一步

  • idea连接上数据库
    image-20240827171305671
    输入数据库信息,连接数据库
    image-20240827171423151

第二步

  • 连接成功之后选择数据库点击右键,选择MyBatisX->Generate Mapper
    image-20240827171626934

第三步

  • 操作如下
    image-20240827171900868 image-20240827172053402
  • 标题: mybatisplus和mybatisX
  • 作者: Later
  • 创建于 : 2024-08-20 22:26:05
  • 更新于 : 2024-08-30 01:08:28
  • 链接: http://www.later0716.top/2024/08/20/mybatisplus和mybatisX/
  • 版权声明: 版权所有 © Later,禁止转载。