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 的依赖:

xml 复制代码
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.3.1</version>
</dependency>

3. 配置数据库连接

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

properties 复制代码
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

java 复制代码
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 接口:

java 复制代码
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;

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

6. 创建 Service 层

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

java 复制代码
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);
}
java 复制代码
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 请求:

java 复制代码
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 进行数据库操作了。

相关推荐
程序员皮皮林25 分钟前
Java jar 如何防止被反编译?代码写的太烂,害怕被人发现
java·开发语言·jar
麦兜*30 分钟前
MongoDB 性能调优:十大实战经验总结 详细介绍
数据库·spring boot·mongodb·spring cloud·缓存·硬件架构
听风同学1 小时前
RAG的灵魂-向量数据库技术深度解析
后端·架构
橙序员小站1 小时前
搞定系统面试题:如何实现分布式Session管理
java·后端·面试
老青蛙1 小时前
权限系统设计-功能设计
后端
粘豆煮包1 小时前
脑抽研究生Go并发-1-基本并发原语-下-Cond、Once、Map、Pool、Context
后端·go
叫我阿柒啊1 小时前
从Java全栈到Vue3实战:一次真实面试中的技术探索
java·数据库·spring boot·微服务·typescript·vue3·restful
武子康1 小时前
Java-118 深入浅出 MySQL ShardingSphere 分片剖析:SQL 支持范围、限制与优化实践
java·大数据·数据库·分布式·sql·mysql·性能优化
IT_陈寒2 小时前
Vite5.0性能翻倍秘籍:7个极致优化技巧让你的开发体验飞起来!
前端·人工智能·后端
Edward.W2 小时前
用 Go + HTML 实现 OpenHarmony 投屏(hdckit-go + WebSocket + Canvas 实战)
开发语言·后端·golang