org.jooq.Field.notIn()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(3.6k)|赞(0)|评价(0)|浏览(173)

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

Field.notIn介绍

[英]Create a condition to check this field against several values.

Note that if any of the passed values is NULL, then the condition will be NULL (or false, depending on the dialect) as well. This is standard SQL behaviour.

SQL: this not in (values...)

Note that generating dynamic SQL with arbitrary-length NOT IN predicates can cause cursor cache contention in some databases that use unique SQL strings as a statement identifier (e.g. SQLDialect#ORACLE). In order to prevent such problems, you could use Settings#isInListPadding() to produce less distinct SQL strings (see also #5600(https://github.com/jOOQ/jOOQ/issues/5600)), or you could avoid IN lists, and replace them with:

  • NOT IN predicates on temporary tables
  • NOT IN predicates on unnested array bind variables
    [中]创建一个条件,对照多个值检查此字段。
    请注意,如果传递的任何值为NULL,则条件也将为NULL(或false,具体取决于方言)。这是标准的SQL行为。
    SQL:this not in (values...)
    请注意,生成具有任意长度NOT IN谓词的动态SQL可能会在某些使用唯一SQL字符串作为语句标识符的数据库(例如SQL方言#ORACLE)中导致游标缓存争用。为了防止此类问题,您可以使用设置#isInListPadding()生成不太明显的SQL字符串(另请参见#5600(https://github.com/jOOQ/jOOQ/issues/5600)),或者您可以避免IN列表,并将其替换为:
    *临时表上的NOT IN谓词
    *NOT IN未赋值数组绑定变量上的谓词

代码示例

代码示例来源:origin: unipop-graph/unipop

private Condition getContainsCondition(Object value, BiPredicate<?, ?> biPredicate, Field<Object> field) {
  if (biPredicate == Contains.without) {
    if (value == null) {
      return field.isNull();
    } else {
      return field.notIn(value);
    }
  } else if (biPredicate == Contains.within) {
    if (value == null) {
      return field.isNotNull();
    } else {
      return field.in(((Collection) value).toArray());
    }
  }
  return null;
}

代码示例来源:origin: unipop-graph/unipop

for (Object o : v2)
    dates2.add(convertToSqlDate(o.toString()));
  return field.notIn(dates2);
default:
  throw new IllegalArgumentException("predicate not supported in has step: " + biPredicate.toString());

代码示例来源:origin: orientechnologies/spring-data-orientdb

protected Condition toCondition(Part part, Iterator<Object> iterator) {
  String property = part.getProperty().toDotPath();
  Field<Object> field = field(property);
  
  switch (part.getType()) {
    case AFTER: 
    case GREATER_THAN: return field.gt(iterator.next());
    case GREATER_THAN_EQUAL: return field.ge(iterator.next());
    case BEFORE:
    case LESS_THAN: return field.lt(iterator.next());
    case LESS_THAN_EQUAL: return field.le(iterator.next());
    case BETWEEN: return field.between(iterator.next(), iterator.next());
    case IS_NULL: return field.isNull();
    case IS_NOT_NULL: return field.isNotNull();
    case IN: return field.in(toList(iterator));
    case NOT_IN: return field.notIn(toList(iterator));
    case LIKE: return lowerIfIgnoreCase(part, field, iterator);
    case NOT_LIKE: return lowerIfIgnoreCase(part, field, iterator).not();
    case STARTING_WITH: return field.startsWith(iterator.next());
    case ENDING_WITH: return field.endsWith(iterator.next());
    case CONTAINING: return field.contains(iterator.next());
    case SIMPLE_PROPERTY: return field.eq(iterator.next());
    case NEGATING_SIMPLE_PROPERTY: return field.ne(iterator.next());
    case TRUE: return field.eq(true);
    case FALSE: return field.eq(false);
    default: throw new IllegalArgumentException("Unsupported keyword!");
  }
}

代码示例来源:origin: com.orientechnologies/spring-data-orientdb-commons

return field.in(toList(iterator));
case NOT_IN:
  return field.notIn(toList(iterator));
case LIKE:
  return lowerIfIgnoreCase(part, field, iterator);

代码示例来源:origin: perfectsense/dari

? join.valueField.notIn(subSelect)
: join.valueField.in(subSelect);

代码示例来源:origin: org.jooq/jooq

result = not
  ? left instanceof Field
    ? ((Field) left).notIn(parseSelect(ctx, 1))
    : ((RowN) left).notIn(parseSelect(ctx, ((RowN) left).size()))
  : left instanceof Field
result = not
  ? left instanceof Field
    ? ((Field) left).notIn(parseFields(ctx))
    : ((RowN) left).notIn(parseRows(ctx, ((RowN) left).size()))
  : left instanceof Field

相关文章