Spring Boot项目使用MyBatis Plus的详细步骤

news/2024/10/7 17:37:53 标签: spring boot, mybatis, 后端

在Spring Boot项目中使用MyBatis Plus,可以极大地简化数据库操作,提高开发效率。以下是在Spring Boot项目中集成和使用MyBatis Plus的详细步骤:

一、环境准备

  1. 确保已安装Java和Spring Boot:MyBatis Plus是基于Java和Spring Boot的,因此需要先安装好这两个环境。
  2. 创建Spring Boot项目:可以使用Spring Initializr(https://start.spring.io)快速创建一个Spring Boot项目,选择所需的依赖项,如Spring Web、MyBatis-Plus Boot Starter等。

二、添加依赖

在Spring Boot项目的pom.xml文件中添加MyBatis Plus的依赖。例如:

<dependency>  
    <groupId>com.baomidou</groupId>  
    <artifactId>mybatis-plus-boot-starter</artifactId>  
    <version>最新版本</version>  
</dependency>

请注意将最新版本替换为实际的最新版本号。同时,还需要添加数据库驱动依赖,如MySQL驱动:

<dependency>  
    <groupId>mysql</groupId>  
    <artifactId>mysql-connector-java</artifactId>  
    <version>对应版本</version>  
</dependency>


三、配置数据库连接

application.propertiesapplication.yml文件中配置数据库连接信息。例如,在application.yml中配置如下:

spring:  
  datasource:  
    driver-class-name: com.mysql.cj.jdbc.Driver  
    url: jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8  
    username: your_username  
    password: your_password  
  
mybatis-plus:  
  mapper-locations: classpath:mapper/**/*.xml # Mapper XML文件地址  
  type-aliases-package: com.example.demo.entity # 别名扫描包,指定实体类所在的包路径  
  configuration:  
    map-underscore-to-camel-case: true # 是否开启下划线和驼峰的映射  
    cache-enabled: false # 是否开启二级缓存  
  global-config:  
    db-config:  
      id-type: auto # 主键策略

四、创建实体类

src/main/java/com/example/demo/entity目录下创建一个实体类,并使用MyBatis Plus提供的注解进行属性映射。例如:

package com.example.demo.entity;  
  
import com.baomidou.mybatisplus.annotation.TableId;  
import com.baomidou.mybatisplus.annotation.TableName;  
import lombok.Data;  
  
@Data  
@TableName("user")  
public class User {  
    @TableId  
    private Long id;  
    private String name;  
    private Integer age;  
    // 其他属性...  
}


五、创建Mapper接口

src/main/java/com/example/demo/mapper目录下创建一个Mapper接口,并继承MyBatis Plus的BaseMapper接口。例如:

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  
public interface UserMapper extends BaseMapper<User> {  
    // 可以根据需要添加自定义的Mapper方法  
}


六、创建Service和Controller

创建Service接口和实现类,以及Controller类来处理业务逻辑和提供RESTful接口。例如:

// Service接口  
package com.example.demo.service;  
  
import com.baomidou.mybatisplus.extension.service.IService;  
import com.example.demo.entity.User;  
  
public interface UserService extends IService<User> {  
    // 可以根据需要添加自定义的Service方法  
}  
  
// Service实现类  
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 {  
    // 自定义Service方法的实现  
}  
  
// Controller类  
package com.example.demo.controller;  
  
import com.example.demo.entity.User;  
import com.example.demo.service.UserService;  
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.list();  
    }  
  
    @PostMapping  
    public boolean addUser(@RequestBody User user) {  
        return userService.save(user);  
    }  
  
    // 其他RESTful接口方法...  
}


七、启动应用

运行Spring Boot应用的启动类,确保应用能够成功启动并连接到数据库。然后,可以通过浏览器或Postman等工具访问Controller提供的RESTful接口进行测试。

八、MyBatis Plus的常用功能

  1. CRUD操作:MyBatis Plus提供了丰富的CRUD操作方法,如saveupdatedeletelist等,可以极大简化数据库操作。
  2. 条件构造器:MyBatis Plus提供了强大的条件构造器,可以方便地构建复杂的查询条件。
  3. 分页插件:MyBatis Plus内置了分页插件,可以轻松地实现分页功能。
  4. 代码生成器:MyBatis Plus提供了代码生成器,可以根据数据库表结构自动生成实体类、Mapper接口以及XML文件等,减少手写代码的工作量。
  5. 乐观锁:MyBatis Plus内置了乐观锁机制,可以帮助解决高并发环境下的数据竞争问题。
  6. 性能分析插件:可以监控SQL执行情况,帮助开发者发现并优化慢查询。

通过以上步骤,就可以在Spring Boot项目中集成和使用MyBatis Plus了。MyBatis Plus提供了丰富的功能和工具,可以极大地提高开发效率和代码质量。


http://www.niftyadmin.cn/n/5693119.html

相关文章

[OS] 编译 Linux 内核

编译 Linux 内核&#xff1a;详细教程与 Kthreads 入门结合 我们将学习如何编译 Linux 内核&#xff0c;同时结合 Kthreads 的知识来理解各个步骤的目的。对于虚拟环境下的开发环境配置&#xff0c;本文将为你提供逐步指导。 1. 下载内核源代码 首先&#xff0c;我们需要从官…

大模型项目如何判断用RAG还是微调

大模型项目如何判断用RAG还是微调 在大模型项目中&#xff0c;选择使用检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;还是微调&#xff08;Fine-Tuning&#xff09;取决于多个因素&#xff0c;包括项目的具体需求、数据的可用性、性能要求、成本和…

STM32PWM应用

目录 一、输出比较(OC) 二、PWM&#xff1a; 1、简介 2、基本结构 3、参数计算 三、PWM驱动LED呼吸灯 1、代码 四、PWM驱动Sg90舵机 1、工作原理 2、完整代码 五、PWM驱动直流电机 1、TB6612芯片模块 2、完整代码&#xff1a; 一、输出比较(OC) OC&#xff08;Outp…

SparkSubmit进程无法强制kill掉以及Flink相关error

SparkSubmit进程无法强制kill掉 文章目录 SparkSubmit进程无法强制kill掉0. 写在前面1. 正文2. Flink配合Kafka使用问题的记录 0. 写在前面 操作系统&#xff1a;Linux&#xff08;CentOS7.5&#xff09;Spark版本&#xff1a;Spark3.0.0Scala版本&#xff1a;Scala2.12.1Flin…

useradd命令:添加Linux新用户

一、命令简介 ​useradd​ 命令用于在 Linux 系统中创建新用户账号。 ‍ 二、命令参数 useradd [选项] 用户名一些常用的选项包括&#xff1a; -c, --comment "Comment" : 为用户账号添加注释信息。-m, --create-home: 创建用户的家目录。-s, --shell /path/to/…

31 基于51单片机的水位监测系统仿真

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机&#xff0c;DHT11温湿度检测&#xff0c;水位检测&#xff0c;通过LCD1602显示&#xff0c;超过阈值报警&#xff0c;继电器驱动电机转动。通过矩阵按键切换选择设置各项参数阈值。 …

whereis命令:查找命令的路径

一、命令简介 ​whereis​ 命令用于查找命令的&#xff1a;可执行文件、帮助文件和源代码文件。 例如 $ whereis ls ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz找到了 ls 命令的可执行文件、帮助文件的位置。 ‍ 二、命令参数 命令格式 whereis [选项] [命令名称]选项…

D29【python 接口自动化学习】- python基础之输入输出与文件操作

day29 格式化输出 学习日期&#xff1a;20241006 学习目标&#xff1a;输入输出与文件操作&#xfe63;-41 格式化输出&#xff1a;如何将执行结果通过屏幕输出&#xff1f; 学习笔记&#xff1a; 三种常用的格式化输出方式 百分号方式 format函数方式 总结 1. 格式化输出…