【Web 开发入门】3 分钟快速搭建 SpringBoot 项目 + 整合 MyBatis-Plus(附避坑指南)

SpringBoot集成MyBatis-Plus指南

在 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

步骤 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);
    }
}

四、启动项目 & 测试接口

  1. 在启动类DemoApplication.java上右键Run
  2. 用 Postman / 浏览器测试接口:
    • 新增用户:POST 请求http://localhost:8080/user,Body 传 JSON:

      json

      {"name":"张三","age":20,"email":"zhangsan@test.com"}
      
    • 查询所有用户:GET 请求http://localhost:8080/user,会返回刚才新增的用户数据。

五、避坑指南(这部分是加分项!)

  1. 依赖版本不兼容:SpringBoot 3.x 必须用 MyBatis-Plus 3.5.5+,否则会报类找不到错误;
  2. 数据库连接失败:检查application.yml中的url是否带了serverTimezone=Asia/Shanghai,MySQL 8.0 + 必须指定时区;
  3. Mapper 接口未扫描:确保@Mapper注解已加,或在启动类上加@MapperScan("com.example.demo.mapper")
  4. Lombok 不生效:IDEA 需安装 Lombok 插件(Settings→Plugins 搜索 Lombok 并启用)。

总结

本文从环境准备→SpringBoot 项目搭建→MyBatis-Plus 整合→接口测试,全程手把手覆盖了 Web 项目的核心流程。掌握这些基础操作后,后续可以扩展权限控制(Spring Security)、视图开发(Thymeleaf)等功能~

如果对你有帮助,欢迎点赞 + 收藏!有问题评论区交流~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值