MP 入门与环境搭建
2025/9/17大约 2 分钟
MyBatis-Plus 入门与环境搭建
前置知识
建议掌握:
- Java 基础
- Spring Boot 基础
- Maven 基础
什么是 MyBatis-Plus?
MyBatis-Plus(简称 MP)是基于 MyBatis 的增强工具,旨在简化开发、提高效率。
- 无侵入:只做增强,不做改变
- 强大 CRUD:内置通用 Mapper,单表操作无需写 SQL
- Lambda 支持:字段安全
- 主键自动生成、分页、代码生成器等丰富功能
快速开始
1. 添加依赖
在 pom.xml
中添加如下依赖:
<dependencies>
<!-- MyBatis-Plus 核心依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
<!-- Druid 数据源(可选) -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>
<!-- Lombok 简化实体类代码 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- MySQL 驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
2. 配置数据源
application.yml
示例:
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 使用Druid数据源
driver-class-name: com.mysql.cj.jdbc.Driver # MySQL驱动
url: jdbc:mysql://localhost:3306/mybatisplus_db?serverTimezone=UTC # 数据库连接
username: root # 数据库用户名
password: root # 数据库密码
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 控制台打印SQL日志
3. 项目结构建议
src/main/java/com/example/mp/
├── entity/ # 实体类
├── mapper/ # Mapper接口
├── service/ # 业务层
├── controller/# 控制器
└── MpApplication.java # 启动类
4. 创建实体类
package com.example.mp.entity;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
@Data // 自动生成getter/setter/toString等
@NoArgsConstructor // 无参构造
@AllArgsConstructor // 全参构造
public class User {
private Long id;
private String name;
private String password;
private Integer age;
private String tel;
}
5. 创建Mapper接口
package com.example.mp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.mp.entity.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {
// 无需写方法,继承BaseMapper即可拥有CRUD
}
6. 启动类
package com.example.mp;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MpApplication {
public static void main(String[] args) {
SpringApplication.run(MpApplication.class, args);
}
}
7. 简单测试
点击展开查看测试代码
package com.example.mp;
import com.example.mp.entity.User;
import com.example.mp.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest
public class MpTest {
@Autowired
private UserMapper userMapper;
@Test
void testSelectAll() {
List<User> users = userMapper.selectList(null);
users.forEach(System.out::println);
}
}
常见问题
1. IDEA中Lombok报红?
请确保已安装Lombok插件,或升级IDEA到最新版。
2. 控制台SQL日志太多?
可通过 mybatis-plus.configuration.log-impl
控制是否打印SQL日志。
下一步
- 了解标准CRUD与分页功能
- 深入条件查询与进阶用法
- 关注主键策略、逻辑删除、乐观锁等高级特性
下一篇:MP 标准CRUD与分页