com.baomidou.mybatisplus.core.conditions.query.QueryWrapper类的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(11.9k)|赞(0)|评价(0)|浏览(1549)

本文整理了Java中com.baomidou.mybatisplus.core.conditions.query.QueryWrapper类的一些代码示例,展示了QueryWrapper类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryWrapper类的具体详情如下:
包路径:com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
类名称:QueryWrapper

QueryWrapper介绍

[英]Entity 对象封装操作类
[中]实体对象封装操作类

代码示例

代码示例来源:origin: baomidou/mybatis-plus

@Test
@Order(1)
void testCountDistinct() {
  QueryWrapper<CommonData> distinct = new QueryWrapper<>();
  distinct.select("distinct test_int");
  distinct.eq("test_int", 25).or().eq("test_str", "test");
  int count = commonDataMapper.selectCount(distinct);
  Assertions.assertEquals(1, count);
}

代码示例来源:origin: baomidou/mybatis-plus

@Test
@Order(6)
void testCountDistinctUseLambda() {
  LambdaQueryWrapper<CommonData> lambdaQueryWrapper =
    new QueryWrapper<CommonData>().select("distinct test_int, test_str").lambda();
  int count = commonDataMapper.selectCount(lambdaQueryWrapper);
  Assertions.assertEquals(1, count);
}

代码示例来源:origin: baomidou/mybatis-plus

@Test
void testCompare() {
  QueryWrapper<User> queryWrapper = new QueryWrapper<User>()
    .allEq(getMap()).allEq((k, v) -> true, getMap())
    .eq("id", 1).ne("id", 1)
    .or().gt("id", 1).ge("id", 1)
    .lt("id", 1).le("id", 1)
    .or().between("id", 1, 2).notBetween("id", 1, 3)
    .like("id", 1).notLike("id", 1)
    .or().likeLeft("id", 1).likeRight("id", 1);
  logSqlSegment("测试 Compare 下的方法", queryWrapper);
  logParams(queryWrapper);
}

代码示例来源:origin: baomidou/mybatis-plus

@Test
void testNested() {
  QueryWrapper<User> queryWrapper = new QueryWrapper<User>()
    .and(i -> i.eq("id", 1).nested(j -> j.ne("id", 2)))
    .or(i -> i.eq("id", 1).and(j -> j.ne("id", 2)))
    .nested(i -> i.eq("id", 1).or(j -> j.ne("id", 2)));
  logSqlSegment("测试 Nested 下的方法", queryWrapper);
  logParams(queryWrapper);
}

代码示例来源:origin: baomidou/mybatis-plus

@Test
void test1() {
  QueryWrapper<User> ew = new QueryWrapper<User>()
    .eq("xxx", 123)
    .and(i -> i.eq("andx", 65444).le("ande", 66666))
    .ne("xxx", 222);
  log(ew.getSqlSegment());
  ew.getParamNameValuePairs().forEach((k, v) -> System.out.println("key = " + k + " ; value = " + v));
}

代码示例来源:origin: baomidou/mybatis-plus

@Test
void testPluralLambda() {
  TableInfoHelper.initTableInfo(null, User.class);
  QueryWrapper<User> queryWrapper = new QueryWrapper<>();
  queryWrapper.lambda().eq(User::getName, "sss");
  queryWrapper.lambda().eq(User::getName, "sss2");
  logSqlSegment("测试 PluralLambda", queryWrapper);
  logParams(queryWrapper);
}

代码示例来源:origin: baomidou/mybatis-plus

@Test
  @Order(Integer.MAX_VALUE)
  void delete() {
    userMapper.delete(new QueryWrapper<>(new H2User().setAge(AgeEnum.TWO))
      .eq("name", "Tony"));
  }
}

代码示例来源:origin: baomidou/mybatis-plus

@Test
void testQueryWrapper() {
  logSqlSegment("去除第一个 or,以及自动拼接 and,以及手动拼接 or,以及去除最后的多个or", new QueryWrapper<User>().or()
    .ge("age", 3).or().ge("age", 3).ge("age", 3).or().or().or().or());
  logSqlSegment("多个 or 相连接,去除多余的 or", new QueryWrapper<User>()
    .ge("age", 3).or().or().or().ge("age", 3).or().or().ge("age", 3));
  logSqlSegment("嵌套,正常嵌套", new QueryWrapper<User>()
    .nested(i -> i.eq("id", 1)).eq("id", 1));
  logSqlSegment("嵌套,第一个套外的 and 自动消除", new QueryWrapper<User>()
    .and(i -> i.eq("id", 1)).eq("id", 1));
  logSqlSegment("嵌套,多层嵌套", new QueryWrapper<User>()
    .and(i -> i.eq("id", 1).and(j -> j.eq("id", 1))));
  logSqlSegment("嵌套,第一个套外的 or 自动消除", new QueryWrapper<User>()
    .or(i -> i.eq("id", 1)).eq("id", 1));
  logSqlSegment("嵌套,套内外自动拼接 and", new QueryWrapper<User>()
    .eq("id", 11).and(i -> i.eq("id", 1)).eq("id", 1));
  logSqlSegment("嵌套,套内外手动拼接 or,去除套内第一个 or", new QueryWrapper<User>()
    .eq("id", 11).or(i -> i.or().eq("id", 1)).or().eq("id", 1));
  logSqlSegment("多个 order by 和 group by 拼接,自动优化顺序,last方法拼接在最后", new QueryWrapper<User>()
    .eq("id", 11)
    .last("limit 1")
    .orderByAsc("id", "name", "sex").orderByDesc("age", "txl")
    .groupBy("id", "name", "sex").groupBy("id", "name"));
  logSqlSegment("只存在 order by", new QueryWrapper<User>()
    .orderByAsc("id", "name", "sex").orderByDesc("age", "txl"));
  logSqlSegment("只存在 group by", new QueryWrapper<User>()
    .groupBy("id", "name", "sex").groupBy("id", "name"));
}

代码示例来源:origin: baomidou/mybatis-plus

@Test
void testFunc() {
  QueryWrapper<User> queryWrapper = new QueryWrapper<User>()
    .isNull("nullColumn").or().isNotNull("notNullColumn")
    .orderByAsc("id").orderByDesc("name")
    .groupBy("id", "name").groupBy("id2", "name2")
    .in("inColl", getList()).or().notIn("notInColl", getList())
    .in("inArray").notIn("notInArray", 1, 2, 3)
    .inSql("inSql", "1,2,3,4,5").notInSql("inSql", "1,2,3,4,5")
    .having("sum(age) > {0}", 1).having("id is not null");
  logSqlSegment("测试 Func 下的方法", queryWrapper);
  logParams(queryWrapper);
}

代码示例来源:origin: baomidou/mybatis-plus

@Test
@Order(7)
void testLogicSelectCountWithoutDistinct() {
  QueryWrapper<CommonLogicData> queryWrapper = new QueryWrapper<>();
  queryWrapper.eq("test_int", 25).or().eq("test_str", "test");
  int count = commonLogicMapper.selectCount(queryWrapper);
  Assertions.assertEquals(2, count);
}

代码示例来源:origin: yujunhao8831/spring-boot-start-current

@Override
public List< Role > listByUserId ( Long userId ) {
  final List< Object > roleIds = userRoleService.listObjs( new QueryWrapper< UserRole >().eq( "user_id" , userId )
                                              .select( "role_id" ) );
  if ( CollectionUtils.isEmpty( roleIds ) ) {
    return null;
  }
  return new ArrayList<>( super.listByIds( roleIds.parallelStream()
                          .map( Object::toString )
                          .collect( Collectors.toList() ) ) );
}

代码示例来源:origin: baomidou/mybatis-plus

@Test
  @Order(3)
  void testTransactional(){
    try {
      studentService.testSqlRunnerTransactional();
    } catch (RuntimeException e){
      List<H2Student> list = studentService.list(new QueryWrapper<H2Student>().like("name", "sqlRunnerTx"));
      Assertions.assertTrue(CollectionUtils.isEmpty(list));
    }
  }
}

代码示例来源:origin: baomidou/mybatis-plus

/**
 * 获取 QueryWrapper&lt;T&gt;
 *
 * @param <T> 实体类泛型
 * @return QueryWrapper&lt;T&gt;
 */
public static <T> QueryWrapper<T> query() {
  return new QueryWrapper<>();
}

代码示例来源:origin: tomoya92/pybbs

public List<Topic> selectAuthorOtherTopic(Integer userId, Integer topicId, Integer limit) {
 QueryWrapper<Topic> wrapper = new QueryWrapper<>();
 wrapper
   .eq("user_id", userId)
   .orderByDesc("in_time");
 if (topicId != null) {
  wrapper.lambda().ne(Topic::getId, topicId);
 }
 if (limit != null) wrapper.last("limit " + limit);
 return topicMapper.selectList(wrapper);
}

代码示例来源:origin: baomidou/mybatis-plus

@Test
@Order(1)
void crudTest() {
  for (int i = 0; i < 10; i++) {
    logicDeleteMapper.insert(new H2User("mp" + i, AgeEnum.ONE));
  }
  log(logicDeleteMapper.selectList(new QueryWrapper<H2User>().orderByAsc("`desc`")));
  log(logicDeleteMapper.selectOne(new QueryWrapper<H2User>().last("limit 1")));
  H2User h2User = new H2User();
  h2User.setDesc("1");
  h2User.setName("2");
  log(logicDeleteMapper.selectList(new QueryWrapper<>(h2User).orderByAsc("name")));
  for (long i = 0; i < 10L; i++) {
    defaultMapper.insert(new H2Student(i, "Tom长大了", 1));
  }
  log(logicDeleteMapper.selectList(new QueryWrapper<>(h2User).eq("name","2").orderByAsc("name")));
  log(defaultMapper.selectList(new QueryWrapper<H2Student>().orderByAsc("id")));
  log(defaultMapper.selectOne(new QueryWrapper<H2Student>().last("limit 1")));
  H2Student h2Student = new H2Student();
  h2Student.setId(1L);
  h2Student.setAge(2);
  log(defaultMapper.selectList(new QueryWrapper<>(h2Student).orderByAsc("id")));
}

代码示例来源:origin: cn.org.faster/faster-admin

/**
 * 根据角色id列表查询角色权限关系列表
 *
 * @param roleIdList 角色id列表
 * @return 权限列表
 */
public List<SysRolePermission> selectByRoleIdList(List<Long> roleIdList) {
  if (CollectionUtils.isEmpty(roleIdList)) {
    return Collections.emptyList();
  }
  return super.baseMapper.selectList(new QueryWrapper<SysRolePermission>()
      .select("distinct(permission_id) as permissionId")
      .in("role_id", roleIdList)
  );
}

代码示例来源:origin: yujunhao8831/spring-boot-start-current

@Override
@CacheEvict( value = GlobalCacheConstant.USER_DETAILS_SERVICE_NAMESPACE, allEntries = true, condition = "#result != null" )
public boolean save ( PermissionResourceForm form ) {
  PermissionResource resource = new PermissionResource();
  BeanUtils.copyProperties( form , resource );
  // 排序字段处理
  if ( Objects.isNull( resource.getPermissionSort() ) ) {
    Object                             sort;
    QueryWrapper< PermissionResource > query = new QueryWrapper<>();
    query.orderByAsc( "id" ).select( "permission_sort" );
    if ( Objects.isNull( form.getParentId() ) ) {
      query.eq( "parent_id" , GlobalConstant.ROOT_ID );
      sort = super.getObj( query );
    } else {
      query.eq( "parent_id" , form.getParentId() );
      sort = super.getObj( query );
    }
    resource.setPermissionSort( ( Integer ) sort );
  }
  apiHandle( form , resource );
  return super.save( resource );
}

代码示例来源:origin: baomidou/mybatis-plus

LambdaQueryWrapper<H2User> wrapper = new QueryWrapper<H2User>().lambda().like(H2User::getName, "mp");
log(wrapper.getSqlSegment());
h2User.setAge(AgeEnum.TWO);
h2User.setDesc("测试置空");
Assertions.assertEquals(1, userMapper.update(h2User, new QueryWrapper<H2User>().eq("name", NQQ)));
log(userMapper.selectOne(new QueryWrapper<>(new H2User().setName(NQQ).setAge(AgeEnum.TWO))));
    .eq(H2User::getName, "Jerry")) > 0);
log(userMapper.selectOne(new QueryWrapper<>(new H2User().setName(NQQ).setAge(AgeEnum.THREE))));
Assertions.assertNotNull(userMapper.selectOne(new QueryWrapper<>(new H2User().setName("Joe").setTestType(1))));
  System.out.println(h2UserPage.getSize());
Assertions.assertNotNull(userMapper.selectPage(new Page<>(1, 10), new QueryWrapper<H2User>().orderByAsc("name")));
QueryWrapper<H2User> qw = new QueryWrapper<>();
qw.lambda().eq(H2User::getName, NQQ);
List<Map<String, Object>> mapList = userMapper.selectMaps(qw);
if (CollectionUtils.isNotEmpty(mapList)) {
Assertions.assertTrue(CollectionUtils.isNotEmpty(userMapper.selectMaps(new QueryWrapper<>(new H2User().setTestType(3)))));

代码示例来源:origin: baomidou/mybatis-plus

@Test
void testJoin() {
  QueryWrapper<User> queryWrapper = new QueryWrapper<User>()
    .last("limit 1").or()
    .apply("date_format(column,'%Y-%m-%d') = '2008-08-08'")
    .apply("date_format(column,'%Y-%m-%d') = {0}", LocalDate.now())
    .or().exists("select id from table where age = 1")
    .or().notExists("select id from table where age = 1");
  logSqlSegment("测试 Join 下的方法", queryWrapper);
  logParams(queryWrapper);
}

代码示例来源:origin: tumao2/hdw-dubbo

@Override
public PageUtils queryPage(Map<String, Object> params) {
  String beanName = (String) params.get("beanName");
  Page<ScheduleJobEntity> page = new PageUtils<ScheduleJobEntity>(params).getPage();
  QueryWrapper<ScheduleJobEntity> queryWrapper = new QueryWrapper<ScheduleJobEntity>().like(StringUtils.isNotBlank(beanName), "job_id", beanName).orderByDesc("job_id");
  List<ScheduleJobEntity> list = this.page(page, queryWrapper).getRecords();
  page.setRecords(list);
  return new PageUtils<ScheduleJobLogEntity>(page);
}

相关文章