use of org.apache.ibatis.session.RowBounds in project Mybatis-PageHelper by pagehelper.
the class RowBoundsTest method testNamespaceWithRowBounds.
/**
* 使用命名空间方式的RowBounds进行分页,使用RowBounds时不进行count查询
* 通过修改代码可以进行count查询,没法通过其他方法改变参数
* 因为如果通过调用一个别的方法来标记count查询,还不如直接startPage
* <p/>
* 同时使用startPage时,以startPage为准,会根据startPage参数来查询
*/
@Test
public void testNamespaceWithRowBounds() {
SqlSession sqlSession = RowBoundsHelper.getSqlSession();
try {
//获取从0开始,10条内容
List<Country> list = sqlSession.selectList("selectAll", null, new RowBounds(0, 10));
assertEquals(10, list.size());
//判断查询结果的位置是否正确
assertEquals(1, list.get(0).getId());
assertEquals(10, list.get(list.size() - 1).getId());
//获取从10开始,10条内容
list = sqlSession.selectList("selectAll", null, new RowBounds(90, 10));
assertEquals(10, list.size());
//判断查询结果的位置是否正确
assertEquals(91, list.get(0).getId());
assertEquals(100, list.get(list.size() - 1).getId());
//获取从20开始,20条内容
list = sqlSession.selectList("selectAll", null, new RowBounds(100, 20));
assertEquals(20, list.size());
//判断查询结果的位置是否正确
assertEquals(101, list.get(0).getId());
assertEquals(120, list.get(list.size() - 1).getId());
} finally {
sqlSession.close();
}
}
use of org.apache.ibatis.session.RowBounds in project Mybatis-PageHelper by pagehelper.
the class RowBoundsTest method testWithRowboundsAndCountTrue.
/**
* 使用Mapper接口调用时,使用PageHelper.startPage效果更好,不需要添加Mapper接口参数
*/
@Test
public void testWithRowboundsAndCountTrue() {
SqlSession sqlSession = RowBoundsHelper.getSqlSession();
CountryMapper countryMapper = sqlSession.getMapper(CountryMapper.class);
try {
//limit=0,这时候相当于用分页插件求count,但是前提必须是配置rounbounds方式求count,否则都是-1
//这里由于没有配置,应该都是-1
List<Country> list = countryMapper.selectAll(new RowBounds(0, -1));
assertEquals(183, list.size());
//pageSize<0的时候同上
list = countryMapper.selectAll(new RowBounds(0, -100));
assertEquals(183, list.size());
} finally {
sqlSession.close();
}
}
use of org.apache.ibatis.session.RowBounds in project Mybatis-PageHelper by pagehelper.
the class BasicTest method testNamespace3.
@Test
public void testNamespace3() {
SqlSession sqlSession = MybatisRowBoundsHelper.getSqlSession();
try {
Map<String, Object> map = new HashMap<String, Object>();
Country country = new Country();
map.put("country", country);
//同时测试不可变Map
map = Collections.unmodifiableMap(map);
List<Country> list = sqlSession.selectList("select1", map, new RowBounds(1, 10));
assertEquals(10, list.size());
//判断查询结果的位置是否正确
assertEquals(1, list.get(0).getId());
map = new HashMap<String, Object>();
country = new Country();
country.setCountryname("China");
map.put("country", country);
//同时测试不可变Map
map = Collections.unmodifiableMap(map);
list = sqlSession.selectList("select1", map, new RowBounds(1, 10));
assertEquals(1, list.size());
//判断查询结果的位置是否正确
assertEquals(35, list.get(0).getId());
} finally {
sqlSession.close();
}
}
use of org.apache.ibatis.session.RowBounds in project Mybatis-PageHelper by pagehelper.
the class PageSizeZeroTest method testWithRowbounds.
/**
* 使用Mapper接口调用时,使用PageHelper.startPage效果更好,不需要添加Mapper接口参数
*/
@Test
public void testWithRowbounds() {
SqlSession sqlSession = MybatisPageSizeZeroHelper.getSqlSession();
CountryMapper countryMapper = sqlSession.getMapper(CountryMapper.class);
try {
//pageSize=0的时候查询全部结果
List<Country> list = countryMapper.selectAll(new RowBounds(1, 0));
PageInfo<Country> page = new PageInfo<Country>(list);
assertEquals(183, list.size());
assertEquals(183, page.getTotal());
//pageSize=0的时候查询全部结果
PageHelper.startPage(10, 0);
list = countryMapper.selectAll(new RowBounds(1000, 0));
page = new PageInfo<Country>(list);
assertEquals(183, list.size());
assertEquals(183, page.getTotal());
} finally {
sqlSession.close();
}
}
use of org.apache.ibatis.session.RowBounds in project Mybatis-PageHelper by pagehelper.
the class RowBoundsTest method testNamespaceWithRowBounds.
/**
* 使用命名空间方式的RowBounds进行分页,使用RowBounds时不进行count查询
* 通过修改代码可以进行count查询,没法通过其他方法改变参数
* 因为如果通过调用一个别的方法来标记count查询,还不如直接startPage
* <p/>
* 同时使用startPage时,以startPage为准,会根据startPage参数来查询
*/
@Test
public void testNamespaceWithRowBounds() {
SqlSession sqlSession = MybatisRowBoundsHelper.getSqlSession();
try {
//获取从0开始,10条内容
List<Country> list = sqlSession.selectList("selectAll", null, new RowBounds(1, 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(91, list.get(0).getId());
assertEquals(100, list.get(list.size() - 1).getId());
//获取从20开始,20条内容
list = sqlSession.selectList("selectAll", null, new RowBounds(6, 20));
assertEquals(20, list.size());
assertEquals(183, ((Page<?>) list).getTotal());
//判断查询结果的位置是否正确
assertEquals(101, list.get(0).getId());
assertEquals(120, list.get(list.size() - 1).getId());
} finally {
sqlSession.close();
}
}
Aggregations