provider.setSortKeys(sortKeys); if (StringUtils.hasText(selectClause)) { provider.setSelectClause(selectClause);
@Test public void testGenerateJumpToItemQueryWithMultipleSortKeys() { Map<String, Order> sortKeys = new LinkedHashMap<>(); sortKeys.put("name", Order.ASCENDING); sortKeys.put("id", Order.DESCENDING); pagingQueryProvider.setSortKeys(sortKeys); String s = pagingQueryProvider.generateJumpToItemQuery(145, pageSize); assertEquals(getJumpToItemQueryWithMultipleSortKeys(), s); }
@Test public void testGenerateFirstPageQueryWithMultipleSortKeys() { Map<String, Order> sortKeys = new LinkedHashMap<>(); sortKeys.put("name", Order.ASCENDING); sortKeys.put("id", Order.DESCENDING); pagingQueryProvider.setSortKeys(sortKeys); String s = pagingQueryProvider.generateFirstPageQuery(pageSize); assertEquals(getFirstPageSqlWithMultipleSortKeys(), s); }
@Test public void testGenerateRemainingPagesQueryWithMultipleSortKeys() { Map<String, Order> sortKeys = new LinkedHashMap<>(); sortKeys.put("name", Order.ASCENDING); sortKeys.put("id", Order.DESCENDING); pagingQueryProvider.setSortKeys(sortKeys); String s = pagingQueryProvider.generateRemainingPagesQuery(pageSize); assertEquals(getRemainingSqlWithMultipleSortKeys(), s); }
@Test public void testGenerateJumpToItemQueryForFirstPageWithMultipleSortKeys() { Map<String, Order> sortKeys = new LinkedHashMap<>(); sortKeys.put("name", Order.ASCENDING); sortKeys.put("id", Order.DESCENDING); pagingQueryProvider.setSortKeys(sortKeys); String s = pagingQueryProvider.generateJumpToItemQuery(45, pageSize); assertEquals(getJumpToItemQueryForFirstPageWithMultipleSortKeys(), s); }
@Before public void setUp() { if (pagingQueryProvider == null) { throw new IllegalArgumentException("pagingQueryProvider can't be null"); } pagingQueryProvider.setSelectClause("id, name, age"); pagingQueryProvider.setFromClause("foo"); pagingQueryProvider.setWhereClause("bar = 1"); Map<String, Order> sortKeys = new LinkedHashMap<>(); sortKeys.put("id", Order.ASCENDING); pagingQueryProvider.setSortKeys(sortKeys); pageSize = 100; }
@Test public void testGenerateJumpToItemQueryForTableQualifierReplacement() { pagingQueryProvider.setFromClause("foo_e E, foo_i I"); pagingQueryProvider.setWhereClause("E.id=I.id"); Map<String, Order> sortKeys = new HashMap<>(); sortKeys.put("E.id", Order.DESCENDING); pagingQueryProvider.setSortKeys(sortKeys); String sql="SELECT TMP_SUB.id FROM ( SELECT E.id, ROW_NUMBER() OVER ( ORDER BY id DESC) AS ROW_NUMBER FROM foo_e E, foo_i I WHERE E.id=I.id) AS TMP_SUB WHERE TMP_SUB.ROW_NUMBER = 1 ORDER BY TMP_SUB.id DESC"; String s = pagingQueryProvider.generateJumpToItemQuery(45, pageSize); assertEquals(sql, s); }
sortKeys.put("NAME", Order.ASCENDING); sortKeys.put("CODE", Order.DESCENDING); queryProvider.setSortKeys(sortKeys); queryProvider.setSelectClause("select NAME, CODE, sum(VALUE)"); queryProvider.setGroupClause("NAME, CODE");
provider.setWhereClause(this.whereClause); provider.setGroupClause(this.groupClause); provider.setSortKeys(this.sortKeys);
@Test public void testFirstPageSqlWithAliases() { Map<String, Order> sorts = new HashMap<>(); sorts.put("owner.id", Order.ASCENDING); this.pagingQueryProvider = new MySqlPagingQueryProvider(); this.pagingQueryProvider.setSelectClause("SELECT owner.id as ownerid, first_name, last_name, dog_name "); this.pagingQueryProvider.setFromClause("FROM dog_owner owner INNER JOIN dog ON owner.id = dog.id "); this.pagingQueryProvider.setSortKeys(sorts); String firstPage = this.pagingQueryProvider.generateFirstPageQuery(5); String jumpToItemQuery = this.pagingQueryProvider.generateJumpToItemQuery(7, 5); String remainingPagesQuery = this.pagingQueryProvider.generateRemainingPagesQuery(5); assertEquals("SELECT owner.id as ownerid, first_name, last_name, dog_name FROM dog_owner owner INNER JOIN dog ON owner.id = dog.id ORDER BY owner.id ASC LIMIT 5", firstPage); assertEquals("SELECT owner.id FROM dog_owner owner INNER JOIN dog ON owner.id = dog.id ORDER BY owner.id ASC LIMIT 4, 1", jumpToItemQuery); assertEquals("SELECT owner.id as ownerid, first_name, last_name, dog_name FROM dog_owner owner INNER JOIN dog ON owner.id = dog.id WHERE ((owner.id > ?)) ORDER BY owner.id ASC LIMIT 5", remainingPagesQuery); }
provider.setSelectClause("SELECT ID, FIRST, SECOND, THIRD"); provider.setFromClause("FOO"); provider.setSortKeys(sortKeys);
provider.setSortKeys(sortKeys); if (StringUtils.hasText(selectClause)) { provider.setSelectClause(selectClause);
provider.setWhereClause(this.whereClause); provider.setGroupClause(this.groupClause); provider.setSortKeys(this.sortKeys);