diff --git a/mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/pagination/dialects/FirebirdDialect b/mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/pagination/dialects/FirebirdDialect new file mode 100644 index 0000000000000000000000000000000000000000..e9560b3c2f66939913ae4004a51058e0b7adf174 --- /dev/null +++ b/mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/pagination/dialects/FirebirdDialect @@ -0,0 +1,19 @@ +package com.baomidou.mybatisplus.extension.plugins.pagination.dialects; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.DialectModel; +import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.IDialect; + +/** + * Firebird 数据库分页语句组装实现,SQL测试版本为4.0 + * 备注:The FIRST/SKIP and ROWS clause are non-standard alternatives + * @author cdtjj + * @since 2022-04-26 + */ +public class FirebirdDialect implements IDialect { + @Override + public DialectModel buildPaginationSql(String originalSql, long offset, long limit) { + String sql = originalSql + " OFFSET " + FIRST_MARK + " ROWS FETCH NEXT " + SECOND_MARK + " ROWS ONLY"; + return new DialectModel(sql, offset, limit).setConsumerChain(); + } +} \ No newline at end of file