package com.cqh;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cqh.entity.User;
import com.cqh.mapper.UserMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {
@Autowired
private UserMapper userMapper;
//查询全部
@Test
public void test01(){
List<User> users = userMapper.selectList(null);
for (User user : users) {
System.out.println("user = " + user);
}
}
//插入数据
@Test
public void test02(){
User user1 = new User();
user1.setUsername("chen1");
user1.setPassword("123456");
user1.setAge(18);
user1.setRole("1");
user1.setSex(1);
int insert = userMapper.insert(user1);
System.out.println("insert = " + insert);
System.out.println("id = " + user1.getId());
}
//根据map删除
@Test
public void deleteTest(){
Map<String,Object> map = new HashMap<>();
map.put("username","xiaoMin");
map.put("age",11);
int num = userMapper.deleteByMap(map);
System.out.println(num);
}
//根据多个id进行批量删除
@Test
public void deleteTest2(){
ArrayList<Integer> ids = new ArrayList<>();
ids.add(15);
ids.add(17);
int num = userMapper.deleteBatchIds(ids);
System.out.println(num);
}
//根据多个条件进行删除
@Test
public void deleteTest3(){
QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
userQueryWrapper.eq("username","a3");
userQueryWrapper.eq("sex",1);
int num = userMapper.delete(userQueryWrapper);
System.out.println(num);
}
//根据id修改
@Test
public void updateTest(){
User user = new User();
user.setId(6);
user.setUsername("李四");
int num = userMapper.updateById(user);
System.out.println(num);
}
//根据Map中传递的条件进行查询
@Test
public void selectTest(){
Map<String,Object> map = new HashMap<>();
map.put("id",6);
map.put("username","李四");
List<User> users = userMapper.selectByMap(map);
users.forEach(user -> System.out.println(user));
}
@Test
public void selectByNameTest(){
List<User> users = userMapper.selectByName("李四");
users.forEach(user -> System.out.println(user));
}
@Test
public void PaginationInnerInterceptorTest(){
//简单分页模型 current:第几页 size:显示几条数据
//底层逻辑就是使用Limit分页的公式 (index-1)*pageSize
Page<User> page = new Page<>(1,3);
//条件构造器Wrapper目前没有就写null
userMapper.selectPage(page,null);
}
@Test
public void PaginationInnerInterceptorTest2(){
//简单分页模型 current:第几页 size:显示几条数据
//底层逻辑就是使用Limit分页的公式 (index-1)*pageSize
Page<User> page = new Page<>(2,3);
//条件构造器Wrapper目前没有就写null
userMapper.selectPage(page,null);
//获取记录
List<User> users = page.getRecords();
users.forEach(user -> System.out.println(user));
System.out.println(page.getPages()); //获取总页数
System.out.println(page.getTotal()); //获取总数据量
System.out.println(page.hasNext());//是否有下一页
System.out.println(page.hasPrevious());//是否有上一页
}
// 查询username不为空的用户,并且年龄大于10岁
@Test
public void selectTest1(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.isNotNull("username")
.ge("age",10);
userMapper.selectList(wrapper).forEach(System.out::println);//类似于map传入条件
}
// 查询名字为chen的用户
@Test
public void selectTest2(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("username","chen");
User user = userMapper.selectOne(wrapper);//类似于map传入条件
System.out.println(user);
}
// 查询年龄18~25岁之间的用户
@Test
public void selectTest3(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.between("age",18,25);
userMapper.selectList(wrapper).forEach(System.out::println);//类似于map传入条件
}
// 查询年龄大于等于25岁的用户
@Test
public void selectTest4(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.ge("age",25);
userMapper.selectList(wrapper).forEach(System.out::println);//类似于map传入条件
}
// 模糊查询:查询名字不包含a的用户,反之like就是包含
@Test
public void selectTest5(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.notLike("username","a");
userMapper.selectList(wrapper).forEach(System.out::println);//类似于map传入条件
}
//模糊查询:包含左侧或者右侧具体内容
@Test
public void selectTest6(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
// 模糊查询:查询名字不包含qf的用户,反之like就是包含
// likeLeft和likeRight
// 左右就是 %在左或者在右
// 以下就是 a% 相当于以a开头的名字
wrapper.likeRight("username","a");
userMapper.selectList(wrapper).forEach(System.out::println);//类似于map传入条件
}
//通过子查询,查询id等于6的用户信息,此方法也可以进行表关联查询
@Test
public void selectTest7(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.inSql("id","select id from tb_user where id=6");
userMapper.selectObjs(wrapper).forEach(System.out::println);
}
// 查询用户名中包含a并且年龄大于29或者crateTime为空的用户
@Test
public void selectTest8(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.like("username","a")
.and(w->w.gt("age",26).or().isNull("createTime"));
userMapper.selectList(wrapper).forEach(System.out::println);
}
// 模糊查询:查询名字包含a的用户,并且按照age升序排序,注意参数不能为空
@Test
public void selectTest9(){
//假设用户传递参数
String username = "a";
Integer age = 1;
//先判断条件是否符合,符合才会组合到SQL语句中
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.like(StringUtils.isNotBlank(username),"username",username)
.orderByAsc(age != null,"age");
userMapper.selectList(wrapper).forEach(System.out::println);//类似于map传入条件
}
//修改用户id为24的username为jack
@Test
public void updateTest1(){
// QueryWrapper<User> wrapper = new QueryWrapper<>();
// wrapper.eq("id",24);
User user = new User();
user.setUsername("jack");
//
没有合适的资源?快使用搜索试试~ 我知道了~
mybatisPlus框架
共23个文件
class:5个
java:5个
lst:4个
0 下载量 131 浏览量
2023-12-10
20:02:07
上传
评论
收藏 15.86MB RAR 举报
温馨提示
案例及sql
资源推荐
资源详情
资源评论
收起资源包目录
myDesktop.rar (23个子文件)
mybatisPlusTest
pom.xml 2KB
src
test
java
com
cqh
UserMapperTest.java 10KB
main
resources
mapper
userMapper.xml 365B
application.properties 453B
java
com
cqh
mapper
UserMapper.java 513B
entity
User.java 911B
Main.java 361B
config
MyBatisPlusConfig.java 1KB
target
classes
mapper
userMapper.xml 365B
application.properties 453B
com
cqh
mapper
UserMapper.class 543B
Main.class 764B
entity
User.class 4KB
config
MyBatisPlusConfig.class 1KB
mybatisPlusTest-1.0-SNAPSHOT.jar.original 7KB
mybatisPlusTest-1.0-SNAPSHOT.jar 17.91MB
test-classes
com
cqh
UserMapperTest.class 13KB
maven-status
maven-compiler-plugin
compile
default-compile
createdFiles.lst 116B
inputFiles.lst 364B
testCompile
default-testCompile
createdFiles.lst 29B
inputFiles.lst 91B
maven-archiver
pom.properties 99B
generated-test-sources
test-annotations
generated-sources
annotations
tb_user.sql 1016B
共 23 条
- 1
资源评论
忆梦~留念
- 粉丝: 362
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功