use of com.github.pagehelper.model.Country in project Mybatis-PageHelper by pagehelper.
the class PageHelperTest method testNamespaceWithRowBounds.
/**
* 使用命名空间方式的RowBounds进行分页,使用RowBounds时不进行count查询
* 通过修改代码可以进行count查询,没法通过其他方法改变参数
* 因为如果通过调用一个别的方法来标记count查询,还不如直接startPage
* <p/>
* 同时使用startPage时,以startPage为准,会根据startPage参数来查询
*/
@Test
public void testNamespaceWithRowBounds() {
SqlSession sqlSession = MybatisHelper.getSqlSession();
try {
//获取从0开始,10条内容
List<Country> list = sqlSession.selectList("selectAll", null, new RowBounds(0, 10));
assertEquals(10, list.size());
assertEquals(183, ((Page<?>) list).getTotal());
//判断查询结果的位置是否正确
assertEquals(1, list.get(0).getId());
assertEquals(10, list.get(list.size() - 1).getId());
//获取从10开始,10条内容
list = sqlSession.selectList("selectAll", null, new RowBounds(10, 10));
assertEquals(10, list.size());
assertEquals(183, ((Page<?>) list).getTotal());
//判断查询结果的位置是否正确
assertEquals(11, list.get(0).getId());
assertEquals(20, list.get(list.size() - 1).getId());
//获取从20开始,20条内容
list = sqlSession.selectList("selectAll", null, new RowBounds(20, 20));
assertEquals(20, list.size());
assertEquals(183, ((Page<?>) list).getTotal());
//判断查询结果的位置是否正确
assertEquals(21, list.get(0).getId());
assertEquals(40, list.get(list.size() - 1).getId());
//同时使用startPage和RowBounds时,以startPage为准
PageHelper.startPage(1, 20);
list = sqlSession.selectList("selectAll", null, new RowBounds(0, 10));
assertEquals(20, list.size());
assertEquals(183, ((Page<?>) list).getTotal());
//判断查询结果的位置是否正确
assertEquals(1, list.get(0).getId());
assertEquals(20, list.get(list.size() - 1).getId());
} finally {
sqlSession.close();
}
}
use of com.github.pagehelper.model.Country in project Mybatis-PageHelper by pagehelper.
the class PageHelperTest method testNamespaceWithStartPage.
/**
* 使用命名空间调用时,使用PageHelper.startPage
* <p/>
* startPage第三个参数可以控制是(true)否(false)执行count查询,使用两个查询的startPage时默认进行count查询
* <p/>
* 使用startPage方法时,如果同时使用RowBounds,以startPage为准
*/
@Test
public void testNamespaceWithStartPage() {
SqlSession sqlSession = MybatisHelper.getSqlSession();
try {
//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 10);
List<Country> list = sqlSession.selectList("selectAll");
assertEquals(10, list.size());
assertEquals(183, ((Page<?>) list).getTotal());
//获取第2页,10条内容,显式查询总数count
PageHelper.startPage(2, 10, true);
list = sqlSession.selectList("selectAll");
assertEquals(10, list.size());
assertEquals(183, ((Page<?>) list).getTotal());
//获取第2页,10条内容,不查询总数count
PageHelper.startPage(2, 10, false);
list = sqlSession.selectList("selectAll");
assertEquals(10, list.size());
assertEquals(-1, ((Page<?>) list).getTotal());
//获取第3页,20条内容,默认查询总数count
PageHelper.startPage(3, 20);
list = sqlSession.selectList("selectAll");
assertEquals(20, list.size());
assertEquals(183, ((Page<?>) list).getTotal());
} finally {
sqlSession.close();
}
}
use of com.github.pagehelper.model.Country in project Mybatis-PageHelper by pagehelper.
the class PageInfoTest method testNavigatePages.
/**
* 使用Mapper接口调用时,使用PageHelper.startPage效果更好,不需要添加Mapper接口参数
*/
@Test
public void testNavigatePages() {
SqlSession sqlSession = MybatisHelper.getSqlSession();
CountryMapper countryMapper = sqlSession.getMapper(CountryMapper.class);
try {
//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 10);
List<Country> list = countryMapper.selectAll();
PageInfo<Country> page = new PageInfo<Country>(list, 20);
assertEquals(1, page.getPageNum());
assertEquals(10, page.getPageSize());
assertEquals(1, page.getStartRow());
assertEquals(10, page.getEndRow());
assertEquals(183, page.getTotal());
assertEquals(19, page.getPages());
assertEquals(1, page.getFirstPage());
assertEquals(19, page.getLastPage());
assertEquals(true, page.isIsFirstPage());
assertEquals(false, page.isIsLastPage());
assertEquals(false, page.isHasPreviousPage());
assertEquals(true, page.isHasNextPage());
//获取第2页,50条内容,默认查询总数count
PageHelper.startPage(2, 50);
list = countryMapper.selectAll();
page = new PageInfo<Country>(list, 2);
assertEquals(2, page.getPageNum());
assertEquals(50, page.getPageSize());
assertEquals(51, page.getStartRow());
assertEquals(100, page.getEndRow());
assertEquals(183, page.getTotal());
assertEquals(4, page.getPages());
assertEquals(1, page.getFirstPage());
assertEquals(2, page.getLastPage());
assertEquals(false, page.isIsFirstPage());
assertEquals(false, page.isIsLastPage());
assertEquals(true, page.isHasPreviousPage());
assertEquals(true, page.isHasNextPage());
} finally {
sqlSession.close();
}
}
use of com.github.pagehelper.model.Country in project Mybatis-PageHelper by pagehelper.
the class RemoveOrderTest method paramsOrderTest.
@Test
public void paramsOrderTest() {
SqlSession sqlSession = MybatisHelper.getSqlSession();
CountryMapper countryMapper = sqlSession.getMapper(CountryMapper.class);
//主要观看查询执行count查询的sql
try {
PageHelper.startPage(1, 50);
List<Country> list = countryMapper.selectAllOrderByParams("countryname", "countrycode");
//总数183
Assert.assertEquals(183, ((Page<?>) list).getTotal());
} finally {
sqlSession.close();
}
}
use of com.github.pagehelper.model.Country in project Mybatis-PageHelper by pagehelper.
the class RemoveOrderTest method simpleOrderTest.
@Test
public void simpleOrderTest() {
SqlSession sqlSession = MybatisHelper.getSqlSession();
CountryMapper countryMapper = sqlSession.getMapper(CountryMapper.class);
//主要观看查询执行count查询的sql
try {
PageHelper.startPage(1, 50);
List<Country> list = countryMapper.selectAllOrderby();
//总数183
Assert.assertEquals(183, ((Page<?>) list).getTotal());
} finally {
sqlSession.close();
}
}
Aggregations