Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使最新的MyBatis动态SQL支持mysql分页(限制/偏移)?_Java_Mybatis_Mybatis Generator - Fatal编程技术网

Java 如何使最新的MyBatis动态SQL支持mysql分页(限制/偏移)?

Java 如何使最新的MyBatis动态SQL支持mysql分页(限制/偏移)?,java,mybatis,mybatis-generator,Java,Mybatis,Mybatis Generator,上面有一些样品 我想为mysql实现limit/offset,但没有看到任何关于如何扩展此库以支持其他where条件的文档 以下是我想要实现的目标: SelectStatementProvider selectStatement = select(id, animalName, bodyWeight, brainWeight) .from(animalData) .where(id, isIn(1, 5, 7)) .and(bodyWeight,

上面有一些样品

我想为mysql实现limit/offset,但没有看到任何关于如何扩展此库以支持其他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);

您可以使用一些资源

本页--显示使用独立where子句构建分页查询的示例。这并不是你想要的,但它展示了一种方法

这里有一个单元测试,它显示了一些更接近您在这里寻找的东西-。这段代码适用于MySQL,您可以按原样使用它


我希望在将来的发行版中使这一点变得更容易。

hi@Jeff,如果人们编写自己的映射程序,我发现您的解决方案非常有效。但很难整合到MBG中。您有什么解决方案可以让偏移/限制与MBG一起工作吗?@Jun Cai我认为它已经集成到MBG中,只需将
中的
targetRuntime
属性设置为
MyBatis3DynamicSql
,对于任何回答晚的人,MyBatis DynamicSQL现在直接支持限制和偏移。不再需要编写自定义代码。