как сделать последнюю поддержку MyBatis Dynamic SQL для разбивки на MySQL (предел / смещение)? - PullRequest
0 голосов
/ 24 мая 2018

Есть несколько примеров на http://www.mybatis.org/mybatis-dynamic-sql/docs/select.html.

Я хочу реализовать лимит / смещение для mysql, но не увидел ни одного документа, описывающего, как расширить эту библиотеку для поддержки дополнительного условия where.

вот чего я хотел бы достичь:

SelectStatementProvider selectStatement = select(id, animalName, bodyWeight, brainWeight)
        .from(animalData)
        .where(id, isIn(1, 5, 7))
        .and(bodyWeight, isBetween(1.0).and(3.0))
        .orderBy(id.descending(), bodyWeight)
        .limit(1).offset(10)
        .build()
        .render(RenderingStrategy.MYBATIS3);

1 Ответ

0 голосов
/ 24 мая 2018

Существует несколько ресурсов, которые вы можете использовать.

На этой странице - http://www.mybatis.org/mybatis-dynamic-sql/docs/whereClauses.html - приведен пример использования автономных предложений where для построения пейджингового запроса.Это не совсем то, что вы ищете, но он показывает один из способов сделать это.

Существует модульный тест, показывающий что-то, что ближе к тому, что вы ищете - https://github.com/mybatis/mybatis-dynamic-sql/tree/master/src/test/java/examples/paging. Этокод работает для MySQL, и вы можете использовать его как есть.

Я надеюсь сделать это немного проще в следующем выпуске.

...