springbootTest坑

简介: springbootTest坑

人一能之,己百之;人十能之,己千之。——《中庸》

今天踩到一个坑,使用springboot单元测试时插入数据回滚了

最后发现原来需要在测试类上面加上@Rollback(false)就可以了

package com.ruben;/**
 * @ClassName: MybatisPlusDemo
 * @Date: 2020/11/9 0009 20:51
 * @Description:
 */
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruben.dao.MpUserMapper;
import com.ruben.pojo.dataObject.UserDataObject;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.Rollback;
import org.springframework.util.SimpleIdGenerator;
import javax.annotation.Resource;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
/**
 * @ClassName: MybatisPlusDemo
 * @Description: 我还没有写描述
 * @Date: 2020/11/9 0009 20:51
 * *
 * @author: <achao1441470436@gmail.com>
 * @version: 1.0
 * @since: JDK 1.8
 */
@SpringBootTest
@Rollback(false)
public class MybatisPlusDemo {
    @Resource
    private MpUserMapper mpUserMapper;
    @Test
    public void insert() {
        mpUserMapper.insert(UserDataObject.builder().id(new SimpleIdGenerator().generateId().variant()).username("Jack").password(UUID.randomUUID().toString()).build());
    }
    @Test
    public void test() {
        IPage<UserDataObject> page = mpUserMapper.selectPage(new Page<>(1, 2), Wrappers.lambdaQuery(UserDataObject.builder().build()));
        System.out.println(page);
        LambdaQueryWrapper<UserDataObject> wrapper = Wrappers.lambdaQuery(UserDataObject.builder().build());
        // 取得用户ids
        List<Integer> userIds = page.getRecords().stream().map(UserDataObject::getId).collect(Collectors.toList());
        // 根据ids用IN查询
        wrapper.in(UserDataObject::getId, userIds)
                // 并且
                .and(w -> w.like(UserDataObject::getUsername, "achao").or(wr -> wr.like(UserDataObject::getUsername, "Achao")));
        page = mpUserMapper.selectPage(new Page<>(1, 2), wrapper);
        System.out.println(page);
    }
}
相关文章
|
6月前
|
存储 Java 测试技术
《Spring 测试指南》:JPA、MockMvc 和 @SpringBootTest 详解
Spring 提供了一组测试工具,可以轻松地测试 Spring 应用程序的各个组件,包括控制器、服务、存储库和其他组件。它具有丰富的测试注释、实用程序类和其他功能,以帮助进行单元测试、集成测试等。
107 0
|
SQL 安全 Java
SpringData JPA(2)
SpringData JPA(2)
124 1
|
前端开发 Java 数据库连接
SpringIOC讲解
SpringIOC讲解
46 0
|
3月前
|
Java
Unable to find @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest
Unable to find @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest
49 0
|
5月前
|
Java Spring
mybatisplus的typeAliasesPackage 配置
【6月更文挑战第20天】mybatisplus的typeAliasesPackage 配置
622 3
|
4月前
|
SQL Java 数据库连接
SpringDataJpa(二)
SpringDataJpa(二)
24 0
|
存储 NoSQL Java
SpringData JPA(1)
SpringData JPA(1)
100 0
|
JSON Java 数据库
SpringBoot整合SpringDataJPA
SpringBoot整合SpringDataJPA
148 0
|
SQL Java 数据库连接
SpringData JPA(提升篇)
🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
115 0
SpringData JPA(提升篇)
|
Java Maven Spring
SpringBoot中整合SpringDataJPA
SpringData:其实SpringData就是Spring提供了一个操作数据的框架。而SpringData JPA只是SpringData框架下的一个基于JPA标准操作数据的模块 SpringData JPA:基于JPA的标准数据进行操作。简化操作持久层的代码。只需要编写接口就可以
106 0