SpringBoot配置MyBatis-Plus实现增删查改

下面我将详细讲解“SpringBoot配置MyBatis-Plus实现增删查改”的完整攻略。

步骤一:引入依赖

pom.xml文件中添加MyBatis-Plus和MySQL的依赖:

<dependencies>
    <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-boot-starter</artifactId>
      <version>3.1.0</version>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.49</version>
    </dependency>
</dependencies>

步骤二:配置数据源

application.yml文件中配置数据源信息:

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver

步骤三:创建实体类

创建一个实体类,并使用@TableName注解指定数据库表的名称:

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("user")
public class User {
    @TableId(type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;
}

步骤四:创建Mapper接口

创建一个Mapper接口,继承BaseMapper接口,并使用@Mapper注解将其标注为Mapper:

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

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

步骤五:编写Service类

创建一个Service类,使用@Service注解将其标注为Service,并在其中使用@Autowired注解注入Mapper类:

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserService extends ServiceImpl<UserMapper, User> {
    @Autowired
    private UserMapper userMapper;
}

步骤六:编写controller类

创建一个Controller类,使用@RestController注解将其标注为Controller,并在其中使用@Autowired注解注入Service类:

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

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

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

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

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

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

示例一:插入数据

使用POST请求发送以下数据:

{
    "id": 1,
    "name": "张三",
    "age": 18
}

结果返回true表示插入成功。

示例二:查询数据

使用GET请求发送以下数据:

/user/1

结果返回以下数据:

{
    "id": 1,
    "name": "张三",
    "age": 18
}

以上就是“SpringBoot配置MyBatis-Plus实现增删查改”的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot配置MyBatis-Plus实现增删查改 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 超漂亮的Bootstrap 富文本编辑器summernote

    下面是这个Bootstrap富文本编辑器summernote的完整攻略。 介绍 Summernote是一款基于Bootstrap的富文本编辑器,功能强大、轻量级、简单易用,支持文本、图片等多种格式的编辑,同时也有插件系统可供扩展。它支持Markdown语法,可在WYSIWYG和编码之间自由切换,也支持响应式布局和多种主题样式。 下载和安装 下载summern…

    Java 2023年6月15日
    00
  • Spring boot 整合 Redisson实现分布式锁并验证功能

    下面我将为您详细讲解”Spring boot整合Redisson实现分布式锁并验证功能”的完整攻略。 简介 Redis是一个开源的,使用C语言开发的,支持网络,可基于内存或者磁盘的数据结构服务。Redisson是面向Java的Redis客户端,提供了丰富的接口和功能,其中包括了Redis的分布式锁实现。 Spring Boot是基于Spring框架的快速开发…

    Java 2023年6月3日
    00
  • java反射调用方法NoSuchMethodException的解决方案

    当使用Java反射调用方法时,如果使用错误的方法名或参数类型,或者方法不存在于该类或其父类中,就会出现NoSuchMethodException异常。在这种情况下,可以采取以下方法解决该异常: 确认方法名和参数类型是否正确 在使用反射调用方法之前,需要仔细检查方法名和参数类型是否正确,并确保它们与目标方法完全相同,包括包名、方法名和参数类型。例如,如下代码正…

    Java 2023年5月27日
    00
  • Java实现求解一元n次多项式的方法示例

    Java实现求解一元n次多项式的方法示例 在Java中,可以使用数组来表示一元n次多项式,并利用数学知识计算出多项式的解。下面是Java实现求解一元n次多项式的方法示例。 前置知识 对于一元n次多项式,可以表示为: f(x) = a0 + a1x^1 + a2x^2 + … + an*x^n 其中,a0、a1、a2、…, an是多项式的系数,n是多项…

    Java 2023年5月19日
    00
  • 利用JSONObject.toJSONString()包含或排除指定的属性

    利用JSONObject.toJSONString()方法可以将Java对象转换为JSON格式的字符串,同时还可以通过include或exclude指定需要包含或排除的属性。 以下是包含指定属性的示例代码: // 定义一个User类 public class User { private int id; private String username; pr…

    Java 2023年5月26日
    00
  • 使用Java实现简单的区块链程序的方法

    下面详细讲解使用Java实现简单的区块链程序的方法的完整攻略。 1. 确定区块链的数据结构 在Java中实现一个简单的区块链程序,需要首先确定区块链的数据结构。区块链数据结构一般由多个区块(Block)组成,每个区块都包含一个指向前一区块的“前哈希指针”,一个当前区块的哈希值,以及一些用于描述当前区块内容的信息,如时间戳,数据等。下面是一个区块的定义: pu…

    Java 2023年5月18日
    00
  • Spring @DateTimeFormat日期格式化时注解场景分析

    当我们在Spring中使用日期类型的时候,通常需要对日期进行格式化,否则就会出现无法解析的错误。而Spring提供的@DateTimeFormat注解可以帮我们在响应请求时对日期进行格式化,是一个非常方便的工具。 什么是@DateTimeFormat @DateTimeFormat是Spring的一个注解,用于序列化和反序列化日期类型。它可以指定日期格式,并…

    Java 2023年6月1日
    00
  • SpringBoot使用freemarker导出word文件方法详解

    SpringBoot使用freemarker导出word文件方法详解 在SpringBoot框架中,使用freemarker库可以轻松地将数据和模板结合起来生成各种文件类型。其中,导出word文件是一个常见的需求,本文将详细介绍SpringBoot如何使用freemarker导出word文件。 步骤一:添加依赖 首先,在pom.xml文件中添加freemar…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部