当前位置: 首页 > article >正文

springBoot中myBatisPlus的使用

MyBatis-Plus 是一个 MyBatis 的增强工具,在 Spring Boot 项目里使用它能极大提升开发效率。下面为你详细介绍在 Spring Boot 中使用 MyBatis-Plus 的步骤以及示例代码。

1. 创建 Spring Boot 项目

你可以借助 Spring Initializr(https://start.spring.io/)来创建一个新的 Spring Boot 项目,添加以下依赖:

  • Spring Web
  • Spring Data JPA(虽然用 MyBatis-Plus,但这个依赖可按需添加)
  • MyBatis Framework
  • MySQL Driver(假设使用 MySQL 数据库)

2. 添加 MyBatis-Plus 依赖

pom.xml 里添加 MyBatis-Plus 的依赖:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.3.1</version>
</dependency>

3. 配置数据库连接

application.propertiesapplication.yml 中配置数据库连接信息:

spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

4. 创建实体类

创建一个简单的实体类,例如 User

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

@TableName("user")
public class User {
    @TableId
    private Long id;
    private String name;
    private Integer age;

    // Getters and Setters
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

5. 创建 Mapper 接口

创建一个继承自 BaseMapper 的 Mapper 接口:

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;

@Repository
public interface UserMapper extends BaseMapper<User> {
}

6. 创建 Service 层

创建一个 Service 接口及其实现类:

import java.util.List;

public interface UserService {
    List<User> getAllUsers();
    User getUserById(Long id);
    boolean saveUser(User user);
    boolean updateUser(User user);
    boolean deleteUser(Long id);
}
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> getAllUsers() {
        return userMapper.selectList(null);
    }

    @Override
    public User getUserById(Long id) {
        return userMapper.selectById(id);
    }

    @Override
    public boolean saveUser(User user) {
        return userMapper.insert(user) > 0;
    }

    @Override
    public boolean updateUser(User user) {
        return userMapper.updateById(user) > 0;
    }

    @Override
    public boolean deleteUser(Long id) {
        return userMapper.deleteById(id) > 0;
    }
}

7. 创建 Controller 层

创建一个 Controller 来处理 HTTP 请求:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/users")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping
    public List<User> getAllUsers() {
        return userService.getAllUsers();
    }

    @GetMapping("/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.getUserById(id);
    }

    @PostMapping
    public boolean saveUser(@RequestBody User user) {
        return userService.saveUser(user);
    }

    @PutMapping
    public boolean updateUser(@RequestBody User user) {
        return userService.updateUser(user);
    }

    @DeleteMapping("/{id}")
    public boolean deleteUser(@PathVariable Long id) {
        return userService.deleteUser(id);
    }
}

8. 启动应用

启动 Spring Boot 应用后,你就能通过以下 API 来操作 User 数据:

  • GET /users:获取所有用户信息。
  • GET /users/{id}:根据 ID 获取用户信息。
  • POST /users:新增用户。
  • PUT /users:更新用户信息。
  • DELETE /users/{id}:根据 ID 删除用户。

按照以上步骤,你就能在 Spring Boot 项目中使用 MyBatis-Plus 进行数据库操作了。


http://www.kler.cn/a/593547.html

相关文章:

  • 机器学习算法实战——天气数据分析(主页有源码)
  • ICLR 2025 机器人智能灵巧操作更进一步DexTrack
  • golang快速上手基础语法
  • Web爬虫利器FireCrawl:全方位助力AI训练与高效数据抓取
  • 数独判定:矩阵中的算法之美
  • PyTorch中,将`DataLoader`加载的数据高效传输到GPU
  • 代码审计学习笔记
  • vue 加密解密
  • Deskflow 一款免费且开源的多设备键盘和鼠标共享工具
  • 用 pytorch 从零开始创建大语言模型(一):理解大型语言模型
  • Android compose中的附带效应-人话
  • Tinyflow AI 工作流编排框架 v0.0.7 发布
  • 【正点原子K210连载】第七十六章 音频FFT实验 摘自【正点原子】DNK210使用指南-CanMV版指南
  • Java 爬取淘宝商品评论接口(item_review)的完整指南
  • 5.2《生活中的透镜》——5.3《凸透镜成像规律》讲后再上
  • 蓝牙音频软件开发--杰理可视化SDK系列学习笔记汇总(持续更新)
  • 深入解析过滤器模式(Filter Pattern):一种灵活高效的设计模式
  • ruby介绍【前端扫盲】
  • 【原创】使用ElasticSearch存储向量实现大模型RAG
  • 【VUE】day05-ref引用