1

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);
4

1 回答 1

1

您可以使用一些资源。

此页面 - 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,您可以按原样使用它。

我希望在未来的版本中使这更容易一些。

于 2018-05-24T12:36:49.220 回答