1. MyBatis-Plus 快速入门与核心用法详解
作为一名长期奋战在Java开发一线的老兵,我深知ORM框架在项目中的重要性。今天要分享的是MyBatis-Plus(简称MP)这个让无数开发者"真香"的框架。不同于传统的MyBatis需要编写大量重复的CRUD代码,MP在保持MyBatis灵活性的同时,通过智能化的自动生成机制,让单表操作变得异常简单。下面我将结合自己多个微服务项目的实战经验,带你全面掌握MP的核心用法。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与基础配置
2.1 数据库连接配置
在Spring Boot项目中,我们首先需要在application.yml中配置数据源。这里有个细节需要注意:MySQL 8.0+的驱动类和连接参数与5.x版本有所不同。
yaml复制spring:
datasource:
url: jdbc:mysql://localhost:3306/mp_demo?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: your_password
hikari:
maximum-pool-size: 20
minimum-idle: 5
提示:生产环境务必使用连接池,HikariCP是Spring Boot默认的也是性能最好的选择。timezone参数对于处理日期时间字段特别重要,否则可能遇到时区转换问题。
2.2 依赖引入
MP的starter已经包含了MyBatis的核心依赖,所以可以直接替换掉原来的mybatis-spring-boot-starter:
xml复制<dependencies>
<!-- MyBatis-Plus核心依赖 -->
<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>
</dependencies>
3. 快速开始:从零搭建MP项目
3.1 实体类定义
MP通过实体类自动映射数据库表,这是它的核心魔法之一。我们先定义一个用户实体:
java复制@Data
@TableName("sys_user") // 指定表名
public class User {
@TableId(type = IdType.AUTO) // 主键自增
private Long id;
@TableField("username") // 字段映射
private String name;
private Integer age;
@TableField(exist = false) // 非数据库字段
private String tempInfo;
}
`
