org.springframework.data.domain.Sort.by()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(10.0k)|赞(0)|评价(0)|浏览(571)

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

Sort.by介绍

[英]Creates a new Sort for the given Orders.
[中]为给定的订单创建新的排序。

代码示例

代码示例来源:origin: spring-projects/spring-batch

  1. private Sort convertToSort(Map<String, Sort.Direction> sorts) {
  2. List<Sort.Order> sortValues = new ArrayList<>();
  3. for (Map.Entry<String, Sort.Direction> curSort : sorts.entrySet()) {
  4. sortValues.add(new Sort.Order(curSort.getValue(), curSort.getKey()));
  5. }
  6. return Sort.by(sortValues);
  7. }
  8. }

代码示例来源:origin: spring-projects/spring-batch

  1. private Sort convertToSort(Map<String, Sort.Direction> sorts) {
  2. List<Sort.Order> sortValues = new ArrayList<>();
  3. for (Map.Entry<String, Sort.Direction> curSort : sorts.entrySet()) {
  4. sortValues.add(new Sort.Order(curSort.getValue(), curSort.getKey()));
  5. }
  6. return Sort.by(sortValues);
  7. }

代码示例来源:origin: spring-projects/spring-data-mongodb

  1. /**
  2. * Factory method to create a new {@link SortOperation} for the given sort {@link Direction} and {@code fields}.
  3. *
  4. * @param direction must not be {@literal null}.
  5. * @param fields must not be {@literal null}.
  6. * @return
  7. */
  8. public static SortOperation sort(Direction direction, String... fields) {
  9. return new SortOperation(Sort.by(direction, fields));
  10. }

代码示例来源:origin: spring-projects/spring-data-mongodb

  1. public SortOperation and(Direction direction, String... fields) {
  2. return and(Sort.by(direction, fields));
  3. }

代码示例来源:origin: spring-projects/spring-data-examples

  1. @Override
  2. public Cursor<Product> findAllUsingCursor() {
  3. // NOTE: Using Cursor requires to sort by an unique field
  4. return solrTemplate.queryForCursor("techproducts", new SimpleQuery("*:*").addSort(Sort.by("id")), Product.class);
  5. }
  6. }

代码示例来源:origin: spring-projects/spring-data-jpa

  1. /**
  2. * Creates new {@link Sort} with potentially unsafe {@link Order} instances.
  3. *
  4. * @param properties must not be {@literal null}.
  5. * @return
  6. */
  7. public Sort withUnsafe(String... properties) {
  8. Assert.notEmpty(properties, "Properties must not be empty!");
  9. Assert.noNullElements(properties, "Properties must not contain null values!");
  10. List<Order> orders = new ArrayList<>(properties.length);
  11. for (String property : properties) {
  12. orders.add(new JpaOrder(getDirection(), property, getNullHandling(), isIgnoreCase(), this.unsafe));
  13. }
  14. return Sort.by(orders);
  15. }

代码示例来源:origin: spring-projects/spring-batch

  1. @Test
  2. public void testQueryObject() throws Exception {
  3. reader = new MongoItemReader<>();
  4. reader.setTemplate(template);
  5. Query query = new Query()
  6. .with(Sort.by(new Order(Sort.Direction.ASC, "_id")));
  7. reader.setQuery(query);
  8. reader.setTargetType(String.class);
  9. reader.afterPropertiesSet();
  10. ArgumentCaptor<Query> queryContainer = ArgumentCaptor.forClass(Query.class);
  11. when(template.find(queryContainer.capture(), eq(String.class))).thenReturn(new ArrayList<>());
  12. assertFalse(reader.doPageRead().hasNext());
  13. Query actualQuery = queryContainer.getValue();
  14. assertFalse(reader.doPageRead().hasNext());
  15. assertEquals(10, actualQuery.getLimit());
  16. assertEquals(0, actualQuery.getSkip());
  17. }

代码示例来源:origin: spring-projects/spring-batch

  1. @Test
  2. public void testQueryObjectWithCollection() throws Exception {
  3. reader = new MongoItemReader<>();
  4. reader.setTemplate(template);
  5. Query query = new Query()
  6. .with(Sort.by(new Order(Sort.Direction.ASC, "_id")));
  7. reader.setQuery(query);
  8. reader.setTargetType(String.class);
  9. reader.setCollection("collection");
  10. reader.afterPropertiesSet();
  11. ArgumentCaptor<Query> queryContainer = ArgumentCaptor.forClass(Query.class);
  12. ArgumentCaptor<String> stringContainer = ArgumentCaptor.forClass(String.class);
  13. when(template.find(queryContainer.capture(), eq(String.class), stringContainer.capture())).thenReturn(new ArrayList<>());
  14. assertFalse(reader.doPageRead().hasNext());
  15. Query actualQuery = queryContainer.getValue();
  16. assertFalse(reader.doPageRead().hasNext());
  17. assertEquals(10, actualQuery.getLimit());
  18. assertEquals(0, actualQuery.getSkip());
  19. assertEquals("collection", stringContainer.getValue());
  20. }
  21. }

代码示例来源:origin: spring-projects/spring-batch

  1. @Test
  2. public void testQueryObjectWithIgnoredPageSize() throws Exception {
  3. reader = new MongoItemReader<>();
  4. reader.setTemplate(template);
  5. Query query = new Query()
  6. .with(Sort.by(new Order(Sort.Direction.ASC, "_id")))
  7. .with(PageRequest.of(0, 50));
  8. reader.setQuery(query);
  9. reader.setTargetType(String.class);
  10. reader.afterPropertiesSet();
  11. ArgumentCaptor<Query> queryContainer = ArgumentCaptor.forClass(Query.class);
  12. when(template.find(queryContainer.capture(), eq(String.class))).thenReturn(new ArrayList<>());
  13. assertFalse(reader.doPageRead().hasNext());
  14. Query actualQuery = queryContainer.getValue();
  15. assertFalse(reader.doPageRead().hasNext());
  16. assertEquals(10, actualQuery.getLimit());
  17. assertEquals(0, actualQuery.getSkip());
  18. }

代码示例来源:origin: spring-projects/spring-batch

  1. @Test
  2. public void testQueryObjectWithPageSize() throws Exception {
  3. reader = new MongoItemReader<>();
  4. reader.setTemplate(template);
  5. Query query = new Query()
  6. .with(Sort.by(new Order(Sort.Direction.ASC, "_id")))
  7. .with(PageRequest.of(30, 50));
  8. reader.setQuery(query);
  9. reader.setTargetType(String.class);
  10. reader.setPageSize(100);
  11. reader.afterPropertiesSet();
  12. ArgumentCaptor<Query> queryContainer = ArgumentCaptor.forClass(Query.class);
  13. when(template.find(queryContainer.capture(), eq(String.class))).thenReturn(new ArrayList<>());
  14. assertFalse(reader.doPageRead().hasNext());
  15. Query actualQuery = queryContainer.getValue();
  16. assertFalse(reader.doPageRead().hasNext());
  17. assertEquals(100, actualQuery.getLimit());
  18. assertEquals(0, actualQuery.getSkip());
  19. }

代码示例来源:origin: spring-projects/spring-batch

  1. @Test
  2. public void testAfterPropertiesSetForQueryObject() throws Exception{
  3. reader = new MongoItemReader<>();
  4. reader.setTemplate(template);
  5. reader.setTargetType(String.class);
  6. Query query1 = new Query().with(Sort.by(new Order(Sort.Direction.ASC, "_id")));
  7. reader.setQuery(query1);
  8. reader.afterPropertiesSet();
  9. }

代码示例来源:origin: org.springframework.data/spring-data-mongodb

  1. /**
  2. * Factory method to create a new {@link SortOperation} for the given sort {@link Direction} and {@code fields}.
  3. *
  4. * @param direction must not be {@literal null}.
  5. * @param fields must not be {@literal null}.
  6. * @return
  7. */
  8. public static SortOperation sort(Direction direction, String... fields) {
  9. return new SortOperation(Sort.by(direction, fields));
  10. }

代码示例来源:origin: org.springframework.data/spring-data-mongodb

  1. public SortOperation and(Direction direction, String... fields) {
  2. return and(Sort.by(direction, fields));
  3. }

代码示例来源:origin: spring-projects/spring-integration

  1. private static Query groupOrderQuery(Object groupId) {
  2. Sort sort = Sort.by(Sort.Direction.DESC, MessageDocumentFields.LAST_MODIFIED_TIME,
  3. MessageDocumentFields.SEQUENCE);
  4. return groupIdQuery(groupId).with(sort);
  5. }

代码示例来源:origin: spring-projects/spring-integration

  1. @Override
  2. public Message<?> pollMessageFromGroup(Object groupId) {
  3. Assert.notNull(groupId, "'groupId' must not be null");
  4. Sort sort = Sort.by(MessageDocumentFields.LAST_MODIFIED_TIME, MessageDocumentFields.SEQUENCE);
  5. if (this.priorityEnabled) {
  6. sort = Sort.by(Sort.Direction.DESC, MessageDocumentFields.PRIORITY).and(sort);
  7. }
  8. Query query = groupIdQuery(groupId).with(sort);
  9. MessageDocument document = this.mongoTemplate.findAndRemove(query, MessageDocument.class, this.collectionName);
  10. Message<?> message = null;
  11. if (document != null) {
  12. message = document.getMessage();
  13. }
  14. return message;
  15. }

代码示例来源:origin: spring-projects/spring-data-rest

  1. /**
  2. * Translates {@link Sort} orders from Jackson-mapped field names to {@link PersistentProperty} names. Properties
  3. * that cannot be resolved are dropped.
  4. *
  5. * @param input must not be {@literal null}.
  6. * @param rootEntity must not be {@literal null}.
  7. * @return {@link Sort} with translated field names or {@literal null} if translation dropped all sort fields.
  8. */
  9. public Sort translateSort(Sort input, PersistentEntity<?, ?> rootEntity) {
  10. Assert.notNull(input, "Sort must not be null!");
  11. Assert.notNull(rootEntity, "PersistentEntity must not be null!");
  12. List<Order> filteredOrders = new ArrayList<Order>();
  13. for (Order order : input) {
  14. List<String> iteratorSource = new ArrayList<String>();
  15. Matcher matcher = SPLITTER.matcher("_" + order.getProperty());
  16. while (matcher.find()) {
  17. iteratorSource.add(matcher.group(1));
  18. }
  19. String mappedPropertyPath = getMappedPropertyPath(rootEntity, iteratorSource);
  20. if (mappedPropertyPath != null) {
  21. filteredOrders.add(order.withProperty(mappedPropertyPath));
  22. }
  23. }
  24. return filteredOrders.isEmpty() ? Sort.unsorted() : Sort.by(filteredOrders);
  25. }

代码示例来源:origin: spring-projects/spring-integration

  1. @Override
  2. public Message<?> pollMessageFromGroup(final Object groupId) {
  3. Assert.notNull(groupId, "'groupId' must not be null");
  4. Query query = whereGroupIdIs(groupId).with(Sort.by(GROUP_UPDATE_TIMESTAMP_KEY, SEQUENCE));
  5. MessageWrapper messageWrapper = this.template.findAndRemove(query, MessageWrapper.class, this.collectionName);
  6. Message<?> message = null;
  7. if (messageWrapper != null) {
  8. message = messageWrapper.getMessage();
  9. }
  10. updateGroup(groupId, lastModifiedUpdate());
  11. return message;
  12. }

代码示例来源:origin: spring-projects/spring-integration

  1. @Override
  2. public Message<?> pollMessageFromGroup(final Object groupId) {
  3. Assert.notNull(groupId, "'groupId' must not be null");
  4. Sort sort = Sort.by(MessageDocumentFields.LAST_MODIFIED_TIME, MessageDocumentFields.SEQUENCE);
  5. Query query = groupIdQuery(groupId).with(sort);
  6. MessageDocument document = mongoTemplate.findAndRemove(query, MessageDocument.class, collectionName);
  7. Message<?> message = null;
  8. if (document != null) {
  9. message = document.getMessage();
  10. updateGroup(groupId, lastModifiedUpdate());
  11. }
  12. return message;
  13. }

代码示例来源:origin: org.springframework.data/spring-data-cassandra

  1. /**
  2. * Creates a new {@link PageRequest} with sort direction and properties applied for the first page.
  3. *
  4. * @param size the size of the page to be returned.
  5. * @param direction must not be {@literal null}.
  6. * @param properties must not be {@literal null}.
  7. */
  8. public static CassandraPageRequest first(int size, Direction direction, String... properties) {
  9. return first(size, Sort.by(direction, properties));
  10. }

代码示例来源:origin: apache/servicemix-bundles

  1. private Sort convertToSort(Map<String, Sort.Direction> sorts) {
  2. List<Sort.Order> sortValues = new ArrayList<>();
  3. for (Map.Entry<String, Sort.Direction> curSort : sorts.entrySet()) {
  4. sortValues.add(new Sort.Order(curSort.getValue(), curSort.getKey()));
  5. }
  6. return Sort.by(sortValues);
  7. }

相关文章