【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);
    }

}
相关推荐
白杨尚青1 小时前
C++入门篇(十):string(上)——认识string:构造与三大遍历(一条龙讲透operator[]、迭代器、auto、范围for)
java·开发语言·c++·笔记·stl
anew___2 小时前
《从零手写操作系统 (11):文件系统初探——initrd与VFS抽象层》
java·javascript·算法
天天向上2912 小时前
Spring AI 实战:14 个踩坑记录,其中一个让我的测试全绿但产品是坏的
java·开源
正在走向自律2 小时前
从只写接口到独立交付前后端,飞算JavaAI能给Java后端工程师多少溢价?
java·springboot·ai编程·全栈开发·java求职·飞算javaai·金九银十
a努力。2 小时前
LangChain Agent消息链路全解析
java·前端·javascript
SL_staff3 小时前
物模型是设备的数字身份证:属性、事件、服务如何决定IoT系统扩展性
java·物联网·全栈
资深技术分享员3 小时前
Geejing WebBuilder 日志、在线用户、系统监控,出问题时的三个第一现场
java·运维·数据库
卓怡学长3 小时前
w202springboot基于B_S架构的图书信息管理系统
java·spring boot·spring·intellij-idea
走到天涯海角3 小时前
用springBoot写几个简单的接口
java·spring boot·intellij-idea