最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot集成mybaits plus實(shí)現(xiàn)增刪改查功能(示例代碼)

 更新時(shí)間:2026年04月18日 14:24:34   作者:愛意隨風(fēng)起^  
本文介紹了使用SpringBoot集成MyBatisPlus實(shí)現(xiàn)增刪改查的全過程,包括添加依賴、配置數(shù)據(jù)庫、創(chuàng)建表及實(shí)體類、Mapper和Service層的創(chuàng)建及實(shí)現(xiàn)等,最后通過knife4j或generated-requests.http進(jìn)行測(cè)試,感興趣的朋友跟隨小編一起看看吧

1.引入依賴 

        <!--mybaits plus -->
        <!-- Source: https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-spring-boot4-starter</artifactId>
            <version>3.5.15</version>
        </dependency>
        <!--mysql8 -->
        <!-- Source: https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>9.6.0</version>
            <scope>compile</scope>
        </dependency>
        <!-- druid -->
        <!-- Source: https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.28</version>
            <scope>compile</scope>
        </dependency>
        <!-- lombok 簡(jiǎn)化代碼,加上后不用寫get,set方法 -->
        <!-- Source: https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.44</version>
            <scope>compile</scope>
        </dependency>

2.配置數(shù)據(jù)庫

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatisplus?serverTimezone=GMT%2B8
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      initial-size: 5
      min-idle: 10
      max-active: 20
      max-wait: 60000
      validation-query: SELECT 1
      test-on-borrow: true
      test-while-idle: true
      test-on-return: false

3.配置啟動(dòng)類

(加@MapperScan("路徑要從com到mapper"))

4.創(chuàng)建表

CREATE TABLE `user_base` (
                             `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用戶ID',
                             `username` varchar(50) NOT NULL COMMENT '登錄名',
                             `password` varchar(255) NOT NULL COMMENT '加密密碼',
                             `phone` varchar(20) DEFAULT NULL COMMENT '手機(jī)號(hào)',
                             `email` varchar(100) DEFAULT NULL COMMENT '郵箱',
                             `real_name` varchar(50) DEFAULT NULL COMMENT '真實(shí)姓名',
                             `avatar` varchar(255) DEFAULT NULL COMMENT '頭像URL',
                             `role_type` varchar(20) DEFAULT NULL COMMENT '冗余角色類型(平臺(tái)管理員platform_admin、企業(yè)管理員enterprise_admin、個(gè)體戶individual、消費(fèi)者consumer、游客guest)',
                             `status` tinyint DEFAULT '1' COMMENT '狀態(tài):0禁用,1啟用',
                             `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '注冊(cè)時(shí)間',
                             PRIMARY KEY (`id`),
                             UNIQUE KEY `uk_username` (`username`),
                             UNIQUE KEY `uk_phone` (`phone`),
                             UNIQUE KEY `uk_email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用戶基本信息表';

5.創(chuàng)建表對(duì)應(yīng)的實(shí)體類

package com.example.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Data //加了這個(gè)注解就不用寫get set 方法
@TableName("user_base")  //指定此類對(duì)應(yīng)數(shù)據(jù)庫哪個(gè)表,如果名字一樣可以不用寫
@Schema(description = "用戶基礎(chǔ)信息實(shí)體類") //用于knife4j生成接口文檔
public class User_base {
    @TableId(type = IdType.AUTO) //告訴mybatisplus這個(gè)字段是自增的
    private Long id; //主鍵ID
    @TableField("username")  //指定此類對(duì)應(yīng)數(shù)據(jù)庫哪個(gè)屬性,如果名字一樣可以不用寫
    @Schema(description = "用戶名")  //用于knife4j生成接口文檔
    private String username;
    @Schema(description = "密碼")  //用于knife4j生成接口文檔
    private String password;
    @Schema(description = "手機(jī)號(hào)")
    private String phone;
    @Schema(description = "郵箱")
    private String email;
    @Schema(description = "真實(shí)姓名")
    private String real_name;
    @Schema(description = "頭像地址")
    private String avatar;
    @Schema(description = "角色類型:平臺(tái)管理員platform_admin、企業(yè)管理員enterprise_admin、個(gè)體戶individual、消費(fèi)者consumer、游客guest")
    private String role_type;
    @Schema(description = "狀態(tài):0禁用、1啟用")
    private Integer status;
    @Schema(description = "創(chuàng)建時(shí)間")
    private LocalDateTime create_time;
}

6.創(chuàng)建mapper

package com.example.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.entity.User_base;
import org.springframework.stereotype.Service;
public interface User_baseMapper extends BaseMapper<User_base> {
}

7.創(chuàng)建User_baseService

package com.example.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.entity.User_base;
public interface User_baseService extends IService<User_base> {
}

8.創(chuàng)建User_baseServiceImpl

package com.example.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.entity.User_base;
import com.example.mapper.User_baseMapper;
import com.example.service.User_baseService;
import org.springframework.stereotype.Service;
@Service  //增加這個(gè)注釋,將類托管給spring容器管理,在controller中就可以引用這個(gè)類了
public class User_baseServiceImpl extends ServiceImpl<User_baseMapper, User_base> implements User_baseService {
}

9.創(chuàng)建User_baseController

package com.example.controller;
import com.example.common.Result;
import com.example.entity.User_base;
import com.example.service.User_baseService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.*;
@Tag(name = "用戶管理")   //用于knife4j生成接口文檔
@RestController        //加了這個(gè)注解,使可以接收http請(qǐng)求
public class User_baseController {
    @Resource  //@Resource 讓 Spring 自動(dòng)為你創(chuàng)建并注入所需的對(duì)象實(shí)例。
    private User_baseService user_baseService;
    @Operation(summary = "新增用戶") //用于knife4j生成接口文檔
    @PostMapping("/user_base/add")
    public Result add(@RequestBody User_base user_base){
        user_baseService.save(user_base);
        return Result.success("新增成功");
    }
    @Operation(summary = "查詢所有用戶")  //用于knife4j生成接口文檔
    @GetMapping("/user_base/list")
    public Result list(){
        return Result.success(user_baseService.list());
    }
    @Operation(summary = "更新用戶")  //用于knife4j生成接口文檔
    @PostMapping("/user_base/update")
    public Result update(@RequestBody User_base user_base){
        user_baseService.updateById(user_base);
        return Result.success(user_base.getId());
    }
    @Operation(summary = "刪除用戶")  //用于knife4j生成接口文檔
    @PostMapping("/user_base/delete")
    public Result delete(@RequestParam Long id){ //@RequestParam 從URL查詢參數(shù)或表單數(shù)據(jù)中提取值,并賦值給方法參數(shù)
        user_baseService.removeById(id);
        return Result.success("刪除成功");
    }
}

10.測(cè)試

可以在knife4j中完成測(cè)試,也可以在generated-requests.http中完成測(cè)試

knife4j:

generated-requests.http:

### 創(chuàng)建新用戶測(cè)試
POST http://localhost:8787/pet/user_base/add
Content-Type: application/json
{
  "username": "123",
  "password": "123",
  "phone": "13",
  "email": "adm",
  "real_name": "lq",
  "avatar": "https://example.com/avatar.jpg",
  "role_type": "platform_admin",
  "status": 1
}
<> 2026-04-17T153449.200.json
<> 2026-04-17T151544.200.json
<> 2026-04-17T151525.500.json
<> 2026-04-17T150244.200.json
###
GET http://localhost:8787/pet/user_base/list
<> 2026-04-17T153610.200.json
<> 2026-04-17T153525.200.json
<> 2026-04-17T151548.200.json
<> 2026-04-17T151419.200.json
###
POST http://localhost:8787/pet/user_base/update
Content-Type: application/json
{
  "id": 1,
  "username": "testuser",
  "password": "456789",
  "phone": "13800138000",
  "email": "test@example.com",
  "real_name": "張三",
  "avatar": "https://example.com/avatar.jpg",
  "role_type": "platform_admin",
  "status": 1
}
<> 2026-04-17T152758.200.json
<> 2026-04-17T152602.400.html
<> 2026-04-17T152532.400.html
###
POST http://localhost:8787/pet/user_base/delete?id=4
Content-Type: application/x-www-form-urlencoded
<> 2026-04-17T153540.200.json

11.整體文件夾

到此這篇關(guān)于springboot集成mybaits plus,實(shí)現(xiàn)增刪改查的文章就介紹到這了,更多相關(guān)springboot mybaits plus增刪改查內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Java中兩種分頁遍歷的使用姿勢(shì)

    詳解Java中兩種分頁遍歷的使用姿勢(shì)

    這篇文章主要介紹了詳解Java中兩種分頁遍歷的使用姿勢(shì),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Spring過濾器中OncePerRequestFilter應(yīng)用實(shí)現(xiàn)

    Spring過濾器中OncePerRequestFilter應(yīng)用實(shí)現(xiàn)

    OncePerRequestFilter是Spring框架提供的一個(gè)過濾器基類,本文就來介紹一下Spring過濾器中OncePerRequestFilter應(yīng)用實(shí)現(xiàn),感興趣的可以了解一下
    2024-12-12
  • java property配置文件管理工具框架過程詳解

    java property配置文件管理工具框架過程詳解

    這篇文章主要介紹了java property配置文件管理工具框架過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Java源碼解析HashMap簡(jiǎn)介

    Java源碼解析HashMap簡(jiǎn)介

    今天小編就為大家分享一篇關(guān)于Java源碼解析HashMap簡(jiǎn)介,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • JavaCV攝像頭實(shí)戰(zhàn)之實(shí)現(xiàn)口罩檢測(cè)

    JavaCV攝像頭實(shí)戰(zhàn)之實(shí)現(xiàn)口罩檢測(cè)

    這篇文章主要介紹了利用JavaCV實(shí)現(xiàn)口罩檢測(cè),功能是檢測(cè)攝像頭內(nèi)的人是否帶了口罩,把檢測(cè)結(jié)果實(shí)時(shí)標(biāo)注在預(yù)覽窗口。感興趣的可以試一試
    2022-01-01
  • 在eclipse中安裝Scala環(huán)境的步驟詳解

    在eclipse中安裝Scala環(huán)境的步驟詳解

    這篇文章主要介紹了在eclipse中安裝Scala環(huán)境的步驟,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 通過實(shí)例解析java8中的parallelStream

    通過實(shí)例解析java8中的parallelStream

    這篇文章主要介紹了通過實(shí)例解析java8中的parallelStream,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • java基于poi導(dǎo)出excel透視表代碼實(shí)例

    java基于poi導(dǎo)出excel透視表代碼實(shí)例

    這篇文章主要介紹了java基于poi導(dǎo)出excel透視表代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • JAVA mongodb 聚合幾種查詢方式詳解

    JAVA mongodb 聚合幾種查詢方式詳解

    這篇文章主要介紹了JAVA mongodb 聚合幾種查詢方式詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • Spring Security自定義身份認(rèn)證的實(shí)現(xiàn)方法

    Spring Security自定義身份認(rèn)證的實(shí)現(xiàn)方法

    這篇文章主要介紹了Spring Security自定義身份認(rèn)證的實(shí)現(xiàn)方法,下面對(duì)Spring Security的這三種自定義身份認(rèn)證進(jìn)行詳細(xì)講解,需要的朋友可以參考下
    2025-04-04

最新評(píng)論

修武县| 曲阳县| 兴宁市| 吉安市| 鱼台县| 巴塘县| 白银市| 资溪县| 渑池县| 泰兴市| 大洼县| 武义县| 镇江市| 辉南县| 苗栗市| 三河市| 杭锦后旗| 交口县| 常熟市| 河东区| 遵义市| 民勤县| 登封市| 曲沃县| 白玉县| 旌德县| 玉门市| 平阳县| 班戈县| 宜川县| 定南县| 民丰县| 蓝山县| 彰化市| 舒城县| 峨眉山市| 吴川市| 鸡泽县| 黔西县| 漾濞| 浠水县|