我使用mybatis从数据库中检索数据。但我会使用Pageable对象(来自spring)来获得分页功能。这可能吗?使用PaginationAndSortRepository扩展myMapper仍然足够了吗?
示例:
@Mapper
public interface MyObjetcMapper extends PagingAndSortingRepository {
List<MyObjetc> findAllMyObjetcs(Pageable pageable);
}
然后我从我的服务中使用它:
List<MyObjetc> myObjetc= myObjetcMapper.findAllCharacteristics(pageable);
return new PageImpl<>(characteristics, new PageRequest(pageable.getPageNumber(), pageable.getPageSize(), pageable.getSort()), MyObjetc.size());
问题是所以我将返回所有MyObjects而不仅仅是请求的集合.... 我每次都要提取感兴趣的清单吗?
答案 0 :(得分:1)
(RowBounds参数导致MyBatis跳过指定的记录数,并限制返回到某个数字的结果数)
如本答案所述 我相信你已经红了How to do Pagination with mybatis?
使用PaginationAndSorting扩展您的映射器将无法正常工作。
This project on github 似乎做你正在搜索但我没有尝试它没有评论,所以我不知道它是否可靠,可以用作解决方案。
答案 1 :(得分:0)
我一直在使用Mybatis-PageHelper插件对Sql Server进行分页
支持的数据库:
maven宣言
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.6</version>
</dependency>
在mybatis-config.xml中将其指定为插件
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
</plugin>
</plugins>
用法示例:
// Get the results for page 1 where every page has 10 rows
PageHelper.startPage(1, 10);
List<MyObjetc> myObjetc= myObjetcMapper.findAllCharacteristics();
assertEquals(10, list.size());