package com.lzh.xd_shop;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lzh.xd_shop.mapper.BannerMapper;
import com.lzh.xd_shop.model.BannerDO;
import com.lzh.xd_shop.service.BannerService;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@SpringBootTest(classes = XdShopApplication.class)
public class BannerTests {
@Autowired
private BannerService bannerService;
@Autowired
private BannerMapper bannerMapper;
@Test
@DisplayName("banner-获取所有banner信息的单元测试")
public void test() throws Exception {
List<BannerDO> list = bannerService.listAllBanner();
log.info("轮播图列表:{}" + list);
}
@Test
@DisplayName("banner-根据id查询banner信息")
public void test2() throws Exception {
BannerDO banner = bannerMapper.selectById(1);
log.info("根据id查询banner信息:{}" + banner);
}
@Test
@DisplayName("banner-根据id批量查询banner信息-传入多个id字段")
public void test3() throws Exception {
List<BannerDO> banners = bannerMapper.selectBatchIds(Arrays.asList(1, 2));
log.info("根据id批量查询banner信息-传入多个id字段:{}" + banners);
}
@Test
@DisplayName("banner-查询一条banner信息,使用条件构造器指定表字段")
public void test4() throws Exception {
BannerDO bannerWeight = bannerMapper.selectOne(new QueryWrapper<BannerDO>().eq("weight", 1));
log.info("查询一条banner信息,使用条件构造器指定表字段:{}" + bannerWeight);
}
@Test
@DisplayName("banner-查询一条banner一共有多少条")
public void test5() throws Exception {
Integer rows = bannerMapper.selectCount(null);
log.info("查询一条banner一共有多少条:{}" + rows);
}
@Test
@DisplayName("banner-插入一条记录")
public void test6() throws Exception {
BannerDO banner = new BannerDO();
banner.setUrl("www.cuikaiyang.com");
banner.setImg("blog.cuikaiyang.com");
banner.setWeight(1);
int rows = bannerMapper.insert(banner);
log.info("影响的行数是:{}" + rows);
}
@Test
@DisplayName("banner-根据id删除一条记录")
public void test7() throws Exception {
int rows = bannerMapper.deleteById(5);
log.info("影响的行数是:{}" + rows);
}
@Test
@DisplayName("banner-根据条件删除数据")
public void test8() throws Exception {
int rows = bannerMapper.deleteById(5);
log.info("影响的行数是:{}" + rows);
}
@Test
@DisplayName("banner-根据条件删除数据 sql AND ")
public void test9() throws Exception {
Map<String, Object> columnMap = new HashMap<>();
columnMap.put("img", "img2");
columnMap.put("url", "url2");
int rows = bannerMapper.deleteByMap(columnMap);
log.info("rows:{}" + rows);
}
@Test
@DisplayName("banner- 根据条件更新数据")
public void test10() throws Exception {
BannerDO bannerDO = new BannerDO();
bannerDO.setUrl("www.cuikaiyang.com");
int rows = bannerMapper.update(bannerDO, new QueryWrapper<BannerDO>().eq("img", "img3"));
log.info("rows:{}" + rows);
}
@Test
@DisplayName("banner- 根据条件更新数据--【条件构造器】")
public void test11() throws Exception {
UpdateWrapper updateWrapper = new UpdateWrapper();
updateWrapper.set("url", "aaa.com");
updateWrapper.eq("img", "img1");
int rows = bannerMapper.update(null, updateWrapper);
log.info("rows:{}", rows);
}
@Test
@DisplayName("banner- = ? AND != ?")
public void test13() throws Exception {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("img", "img3");
queryWrapper.ne("url", "aaa.com");
List<BannerDO> list = bannerMapper.selectList(queryWrapper);
log.info("rows:{}", list);
}
@Test
@DisplayName("banner- = ? OR != ?")
public void test14() throws Exception {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("img", "img3");
queryWrapper.or();
queryWrapper.ne("url", "aaa.com");
List<BannerDO> list = bannerMapper.selectList(queryWrapper);
log.info("rows:{}", list);
}
@Test
@DisplayName("banner- 模糊查询")
public void test15() throws Exception {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.like("url", "aaa.com");
queryWrapper.notLike("img", "img3");
List<BannerDO> list = bannerMapper.selectList(queryWrapper);
log.info("rows:{}", list);
}
@Test
@DisplayName("banner- 模糊查询")
public void test16() throws Exception {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.like("url", "aaa.com");
queryWrapper.or();
queryWrapper.notLike("img", "img3");
List<BannerDO> list = bannerMapper.selectList(queryWrapper);
log.info("rows:{}", list);
}
@Test
@DisplayName("banner- 左、右模糊查询")
public void test17() throws Exception {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.likeLeft("url", "aaa.com");
queryWrapper.or();
queryWrapper.likeRight("img", "img3");
List<BannerDO> list = bannerMapper.selectList(queryWrapper);
log.info("rows:{}", list);
}
@Test
@DisplayName("banner-WHERE (img IS NULL AND url IN (?,?)) ORDER BY id DESC")
public void test18() throws Exception {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.isNull("img");
queryWrapper.in("url", Arrays.asList("aaa", "bbbb"));
queryWrapper.orderByDesc("id");
List<BannerDO> list = bannerMapper.selectList(queryWrapper);
log.info("rows:{}", list);
}
@Test
@DisplayName("banner-MyBatisPlus分页")
public void test19() throws Exception {
QueryWrapper<BannerDO> wrapper = new QueryWrapper();
wrapper.eq("weight", 4);
Page<BannerDO> page = new Page<>(2, 2);
IPage<BannerDO> bannerDOIPage = bannerMapper.selectPage(page, wrapper);
System.out.println("总条数" + bannerDOIPage.getTotal());
System.out.println("总页数" + bannerDOIPage.getPages());
System.out.println(bannerDOIPage.getRecords().toString());
}
@Test
@DisplayName("banner-MyBatisPlus分页---指定参数查询")
public void test20() throws Exception {
QueryWrapper<BannerDO> wrapper = new QueryWrapper();
wrapper.eq("weight", 4);
Page<BannerDO> page = new Page<>(2, 2);
IPage<BannerDO> bannerDOIPage = bannerMapper.selectPage(page, wrapper.select("id","url"));
log.info("总条数:{}", bannerDOIPage.getTotal());
log.info("总页数:{}", bannerDOIPage.getPages());
log.info("" + bannerDOIPage.getRecords());
}
@Test
@DisplayName("banner-MyBatisPlus乐观所的使用")
public void test21() throws Exception {
BannerDO bannerDO = new BannerDO();
bannerDO.setVersion(2);
bannerDO.setId(7);
bannerDO.setUrl("juejin.cn");
bannerMapper.updateById(bannerDO);
}
@Test
@DisplayName("banner-MyBatisPlus逻辑删除的使用")
public void test22() throws Exception {
int rows = bannerMapper.deleteById(14);
log.info("受影响的行数:{}",rows);
}
@Test
@DisplayName("banner-MyBatisPlus逻辑删除后的验证:根据id查询数据")
public void test23() throws Exception {
BannerDO bannerDO = bannerMapper.selectById(14);
log.info("bannerDO:{}",bannerDO);
}
}