【09】SpringBoot4 MyBatisPlus 增删改查(CRUD)

SpringBoot4 MyBatisPlus 增删改查(CRUD)

前言

在此博文《SpringBoot4 MyBatisPlus 代码自动生成》的基础上,进行迭代功能开发。

pom.xml 文件更新

新增 测试坐标

xml 复制代码
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>

增删改查(CRUD)测试类

java 复制代码
package com.junjiu.mybatisplus.pro.test;

import com.junjiu.mybatisplus.pro.entity.TbClient;
import com.junjiu.mybatisplus.pro.service.ITbClientService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 测试增删改查功能
 */
@SpringBootTest
public class CrudTest {

    @Autowired
    ITbClientService clientService;

    /**
     * 添加数据
     */
    @Test
    public void testInsert() {
        TbClient client = new TbClient()
                .setClientId(100001L)
                .setUserNo("zhangsan")
                .setUserPassword("123456")
                .setNickName("张三")
                .setRealName("张三")
                .setInfo("""
                {
                  "age": 25,
                  "gender": "male",
                  "city": "上海"
                }
                """)
                .setCreatedTime(LocalDateTime.now())
                .setUpatedTime(LocalDateTime.now());

        clientService.save(client);
    }

    /**
     * 批量添加
     */
    @Test
    public void testInsertBatch() {

        List<TbClient> clients = List.of(
                new TbClient()
                        .setClientId(100001L)
                        .setUserNo("zhangsan")
                        .setUserPassword("123456")
                        .setNickName("张三")
                        .setRealName("张三")
                        .setInfo("""
                        {
                          "age": 25,
                          "gender": "male",
                          "city": "上海"
                        }
                        """)
                        .setCreatedTime(LocalDateTime.now())
                        .setUpatedTime(LocalDateTime.now()),

                new TbClient()
                        .setClientId(100002L)
                        .setUserNo("lisi")
                        .setUserPassword("123456")
                        .setNickName("李四")
                        .setRealName("李四")
                        .setInfo("""
                        {
                          "age": 28,
                          "gender": "male",
                          "city": "北京"
                        }
                        """)
                        .setCreatedTime(LocalDateTime.now())
                        .setUpatedTime(LocalDateTime.now()),

                new TbClient()
                        .setClientId(100003L)
                        .setUserNo("wangwu")
                        .setUserPassword("123456")
                        .setNickName("王五")
                        .setRealName("王五")
                        .setInfo("""
                        {
                          "age": 30,
                          "gender": "male",
                          "city": "深圳"
                        }
                        """)
                        .setCreatedTime(LocalDateTime.now())
                        .setUpatedTime(LocalDateTime.now()),

                new TbClient()
                        .setClientId(100004L)
                        .setUserNo("xiaohong")
                        .setUserPassword("123456")
                        .setNickName("小红")
                        .setRealName("李红")
                        .setInfo("""
                        {
                          "age": 23,
                          "gender": "female",
                          "city": "杭州"
                        }
                        """)
                        .setCreatedTime(LocalDateTime.now())
                        .setUpatedTime(LocalDateTime.now()),

                new TbClient()
                        .setClientId(100005L)
                        .setUserNo("ai_user")
                        .setUserPassword("123456")
                        .setNickName("AI用户")
                        .setRealName("陈明")
                        .setInfo("""
                        {
                          "age": 27,
                          "gender": "male",
                          "city": "上海",
                          "tags": ["Java", "Spring Boot", "AI"],
                          "vipLevel": 3
                        }
                        """)
                        .setCreatedTime(LocalDateTime.now())
                        .setUpatedTime(LocalDateTime.now())
        );

        clientService.saveBatch(clients);

    }

    /**
     * 修改数据.
     */
    @Test
    public void testUpdate() {
        TbClient client = new TbClient()
                .setClientId(100001L)
                .setUserNo("junjiu")
                .setUserPassword("123456")
                .setNickName("君九@DBA")
                .setRealName("君九")
                .setInfo("""
                {
                  "age": 25,
                  "gender": "male",
                  "city": "上海"
                }
                """)
                .setCreatedTime(LocalDateTime.now())
                .setUpatedTime(LocalDateTime.now());

        // clientService.save(client);
        clientService.updateById(client);
    }

    /**
     * 删除数据.
     */
    @Test
    public void testDelete() {

        clientService.removeById(100001L);
    }

}
相关推荐
const_qiu几秒前
第三章 08:3.10 本章小结
java·人工智能
Pniubi1 分钟前
快速排序(力扣基础)(递归)
java·数据结构·算法
CarIise19 分钟前
Spring MVC 请求参数绑定与常用注解2
java·spring·mvc
七夜zippoe26 分钟前
Spring Boot 接通义千问:从拿 Key 到第一个对话接口跑通(保姆级)
java·spring boot·后端
SimonKing27 分钟前
别再花钱调 OCR 接口了!这个国产开源工具,免费还能离线跑
java·后端·程序员
Nebula_g27 分钟前
SpringBoot企业级实战项目—云禾外卖—SpringBoot常用注解解析
java·网络·数据库·spring boot·后端·spring·javase
const_qiu29 分钟前
第三章 07:3.9 能力收束与统一入口
java·人工智能
const_qiu32 分钟前
第三章 05:3.7 结构化输出与程序化消费
java·人工智能
企业数字化笔记1 小时前
租户停用后数据和任务怎么处理?冻结、恢复与保留策略的实现
android·java·spring boot
CarIise1 小时前
Spring MVC 请求参数绑定与常用注解
java·spring·mvc