在 Web 应用开发中,SpringBoot+MyBatis-Plus 是后端最常用的技术组合之一。今天手把手教你从 0 到 1 搭建项目,全程避坑,新手也能直接上手!
一、前置准备:开发环境确认
(注:这部分是基础,写清楚能体现严谨性)
- JDK:建议 17(SpringBoot 3.x + 推荐版本,兼容性更好),需配置
JAVA_HOME环境变量(右键 “此电脑”→属性→高级系统设置→环境变量)。 - Maven:3.8+,配置阿里云镜像(修改
settings.xml的<mirrors>节点,加速依赖下载)。 - IDEA:2021.3+(需提前安装 “Spring Initializr” 插件,IDEA 默认自带)。
- MySQL:8.0+(提前创建好项目要用的数据库,比如
demo_db)。
二、3 分钟快速搭建 SpringBoot 项目
步骤 1:启动 Spring Initializr
打开 IDEA → 点击New Project → 选择Spring Initializr(默认用官方镜像start.spring.io,国内可换阿里云start.aliyun.com)。
步骤 2:配置项目信息
- Project:选择
Maven(新手友好); - Spring Boot:选
3.2.0(稳定版); - Project Metadata:
- Group:
com.example(公司 / 个人域名反转); - Artifact:
springboot-mybatisplus-demo(项目名); - Package name:
com.example.demo; - Java:选
17。
- Group:
步骤 3:选择依赖(关键!)
点击Add Dependencies,搜索并勾选以下依赖:
Spring Web(Web 开发核心);MySQL Driver(连接 MySQL);Lombok(简化实体类代码);MyBatis-Plus Generator(可选,自动生成代码)。
步骤 4:生成项目
点击Generate下载压缩包,解压后用 IDEA 打开 → 等待 Maven 下载依赖(首次需 2-3 分钟)。
三、整合 MyBatis-Plus(核心步骤)
MyBatis-Plus 是 MyBatis 的增强工具,能省 80% 的 CRUD 代码,整合步骤如下:
步骤 1:添加 MyBatis-Plus 依赖
打开pom.xml,在<<dependencies>中添加 MyBatis-Plus 的 Starter(SpringBoot 3.x 需用3.5.5+版本):
xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.5</version>
</dependency>
步骤 2:配置数据库连接
打开src/main/resources/application.yml(建议把默认的.properties改成.yml,格式更清晰),写入数据库信息:
yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/demo_db?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8
username: root
password: 你的MySQL密码
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
mapper-locations: classpath:mapper/*.xml # Mapper XML文件路径
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 打印SQL日志(调试用)
步骤 3:编写核心代码(示例:用户模块 CRUD)
(1)实体类User.java(用 Lombok 简化)
java
运行
package com.example.demo.entity;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
@Data // Lombok自动生成Getter/Setter/toString
@TableName("user") // 对应数据库表名
public class User {
@TableId(type = IdType.AUTO) // 主键自增
private Long id;
private String name;
private Integer age;
private String email;
}
(2)Mapper 接口UserMapper.java
java
运行
package com.example.demo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper // 标记为MyBatis Mapper接口
public interface UserMapper extends BaseMapper<User> {
// 无需写CRUD方法,BaseMapper已自带(selectById、insert、updateById等)
}
(3)Service 层(可选,规范分层)
java
运行
package com.example.demo.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.demo.entity.User;
public interface UserService extends IService<User> {
}
实现类:
java
运行
package com.example.demo.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import com.example.demo.service.UserService;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
(4)Controller 层(写接口测试)
java
运行
package com.example.demo.controller;
import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@RestController
@RequestMapping("/user")
public class UserController {
@Resource
private UserService userService;
// 新增用户
@PostMapping
public boolean addUser(@RequestBody User user) {
return userService.save(user);
}
// 查询所有用户
@GetMapping
public List<User> listUser() {
return userService.list();
}
// 根据ID查询用户
@GetMapping("/{id}")
public User getUserById(@PathVariable Long id) {
return userService.getById(id);
}
}
四、启动项目 & 测试接口
- 在启动类
DemoApplication.java上右键Run; - 用 Postman / 浏览器测试接口:
- 新增用户:POST 请求
http://localhost:8080/user,Body 传 JSON:json
{"name":"张三","age":20,"email":"zhangsan@test.com"} - 查询所有用户:GET 请求
http://localhost:8080/user,会返回刚才新增的用户数据。
- 新增用户:POST 请求
五、避坑指南(这部分是加分项!)
- 依赖版本不兼容:SpringBoot 3.x 必须用 MyBatis-Plus 3.5.5+,否则会报类找不到错误;
- 数据库连接失败:检查
application.yml中的url是否带了serverTimezone=Asia/Shanghai,MySQL 8.0 + 必须指定时区; - Mapper 接口未扫描:确保
@Mapper注解已加,或在启动类上加@MapperScan("com.example.demo.mapper"); - Lombok 不生效:IDEA 需安装 Lombok 插件(Settings→Plugins 搜索 Lombok 并启用)。
总结
本文从环境准备→SpringBoot 项目搭建→MyBatis-Plus 整合→接口测试,全程手把手覆盖了 Web 项目的核心流程。掌握这些基础操作后,后续可以扩展权限控制(Spring Security)、视图开发(Thymeleaf)等功能~
如果对你有帮助,欢迎点赞 + 收藏!有问题评论区交流~
SpringBoot集成MyBatis-Plus指南
4174

被折叠的 条评论
为什么被折叠?



