MyBatis-Plus 入门指南:快速上手、常用注解与配置详解
2026/9/12 2:31:58 网站建设 项目流程

1. 引言

MyBatis-Plus(简称 MP)是 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。它内置了通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表的大部分 CRUD 操作,更有强大的条件构造器,可以满足各类复杂查询需求。

本文将带你从零开始认识 MyBatis-Plus,通过一个完整的入门案例快速上手,并详细讲解常用的注解与核心配置,帮助你快速掌握这一主流开发利器。

目录

  • 1. 引言
  • 2. MyBatis-Plus 简介
    • 2.1 什么是 MyBatis-Plus
    • 2.2 为什么选择 MyBatis-Plus
  • 3. 环境准备
    • 3.1 环境要求
    • 3.2 创建 Spring Boot 项目
    • 3.3 配置数据源
  • 4. 入门案例
    • 4.1 创建数据库表
    • 4.2 创建实体类
    • 4.3 创建 Mapper 接口
    • 4.4 编写测试代码
    • 4.5 条件构造器查询
  • 5. 常用注解详解
    • 5.1 @TableName
    • 5.2 @TableId
    • 5.3 @TableField
    • 5.4 @TableLogic
    • 5.5 @Version
    • 5.6 @EnumValue
  • 6. 常用配置详解
    • 6.1 全局配置
    • 6.2 日志配置
    • 6.3 分页插件配置
    • 6.4 乐观锁插件配置
    • 6.5 性能分析插件
    • 6.6 自动填充配置
  • 7. 代码生成器实战
    • 7.1 添加依赖
    • 7.2 编写生成器代码
    • 7.3 执行生成
    • 7.4 生成后的目录结构
  • 8. 总结

2. MyBatis-Plus 简介

2.1 什么是 MyBatis-Plus

MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

它的核心特性包括:

  • 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑。
  • 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作。
  • 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求。
  • 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错。
  • 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器),可自由配置,完美解决主键问题。
  • 支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作。
  • 支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )。
  • 内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用。
  • 内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询。
  • 分页插件支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库。
  • 内置性能分析插件:可输出 SQL 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询。
  • 内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作。

2.2 为什么选择 MyBatis-Plus

在传统的 MyBatis 开发中,即使是一个简单的单表查询,也需要编写对应的 SQL 语句和映射文件。而 MyBatis-Plus 通过内置的通用 Mapper,让开发者无需编写 SQL 即可完成大部分单表操作,大幅提升了开发效率。

3. 环境准备

3.1 环境要求

  • JDK 8 及以上
  • Maven 3.5+
  • MySQL 5.7 及以上(或其他支持的数据库)
  • Spring Boot 2.x 或 3.x

3.2 创建 Spring Boot 项目

首先,通过 Spring Initializr 创建一个 Spring Boot 项目,并添加以下依赖:

<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.1</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>

注意:如果使用 Spring Boot 3.x,请使用mybatis-plus-spring-boot3-starter依赖。

3.3 配置数据源

application.yml中配置数据源信息:

spring:datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://localhost:3306/mybatis_plus_demo?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghaiusername:rootpassword:123456mybatis-plus:configuration:log-impl:org.apache.ibatis.logging.stdout.StdOutImpl

4. 入门案例

4.1 创建数据库表

首先,在数据库中创建一张用户表:

CREATETABLE`user`(`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'主键ID',`name`varchar(30)DEFAULTNULLCOMMENT'姓名',`age`int(11)DEFAULTNULLCOMMENT'年龄',`email`varchar(50)DEFAULTNULLCOMMENT'邮箱',`create_time`datetimeDEFAULTNULLCOMMENT'创建时间',`update_time`datetimeDEFAULTNULLCOMMENT'更新时间',PRIMARY

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询