@Autowired
UserMapper userMapper;
//测试Wrapper 通过条件构造器实现特定条件的增删改查
@Test
void test01(){
//查询用户名包含a,年龄在20到30之间,邮箱信息不为null的用户信息
//查询不出来已删除状态下的数据,也就是is_deleted=1的数据
QueryWrapper<User> queryWrapper=new QueryWrapper<>();
queryWrapper.like("name",'a')
.between("age",20,30)
.isNotNull("email");
userMapper.selectList(queryWrapper).forEach(System.out::println);
}
@Test
public void test02(){
//查询用户信息,按照年龄的降序排序,若年龄相同则按照id升序排序
QueryWrapper<User> queryWrapper=new QueryWrapper<>();
queryWrapper.orderByAsc("age")
.orderByAsc("id");
List<User> users = userMapper.selectList(queryWrapper);
users.forEach(System.out::println);
}
@Test
public void test03(){
//删除邮箱地址为null的用户信息
QueryWrapper<User> queryWrapper=new QueryWrapper<>();
queryWrapper.isNull("email");
int delete = userMapper.delete(queryWrapper);
System.out.println(delete);
}
@Test
public void test04(){
//将(年龄大于20并且用户名中包含有a)或邮箱为null的用户信息修改
QueryWrapper<User> queryWrapper=new QueryWrapper<>();
queryWrapper.like("name","a")
.gt("age",20)
.or()
.isNull("email");//这是匹配到这些条件后的实体
User user=new User();
user.setName("test");
user.setEmail("123@qq.com");//这是要修改的
int update = userMapper.update(user, queryWrapper);
System.out.println(update);
}
@Test
public void test05(){
//注意和上一个的区别,这里优先级变化了
//将用户名中包含有a并且(年龄大于20或邮箱为null)的用户信息修改
//lambda中的条件优先执行
QueryWrapper<User> queryWrapper=new QueryWrapper<>();
queryWrapper.like("name","a")
.and(i->i.gt("age",20).or().isNull("email"));
User user=new User();
user.setName("admin");
user.setEmail("456@qq.com");//这是要修改的
int update = userMapper.update(user, queryWrapper);
System.out.println(update);
}
@Test
public void test06(){
//查询用户的用户名,年龄,邮箱信息
QueryWrapper<User> queryWrapper=new QueryWrapper<>();
queryWrapper.select("name","age","email");
List<User> users = userMapper.selectList(queryWrapper);
users.forEach(System.out::println);
}
【MyBatis-Plus】MyBatis-Plus条件构造器Wrapper用法
最新推荐文章于 2023-03-04 13:35:54 发布