Search in sources :

Example 26 with RowBounds

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 = MybatisRowBoundsHelper.getSqlSession();
    CountryMapper countryMapper = sqlSession.getMapper(CountryMapper.class);
    try {
        //limit=0,这时候相当于用分页插件求count,但是前提必须是配置rounbounds方式求count,否则都是-1
        //这里由于没有配置,应该都是-1
        List<Country> list = countryMapper.selectAll(new RowBounds(1, -1));
        PageInfo<Country> page = new PageInfo<Country>(list);
        assertEquals(0, list.size());
        assertEquals(183, page.getTotal());
        //pageSize<0的时候同上
        list = countryMapper.selectAll(new RowBounds(1, -100));
        page = new PageInfo<Country>(list);
        assertEquals(0, list.size());
        assertEquals(183, page.getTotal());
    } finally {
        sqlSession.close();
    }
}
Also used : PageInfo(com.github.pagehelper.PageInfo) SqlSession(org.apache.ibatis.session.SqlSession) CountryMapper(com.github.pagehelper.mapper.CountryMapper) RowBounds(org.apache.ibatis.session.RowBounds) Country(com.github.pagehelper.model.Country) Test(org.junit.Test)

Example 27 with RowBounds

use of org.apache.ibatis.session.RowBounds in project Activiti by Activiti.

the class TableDataManager method getTablePage.

@SuppressWarnings("unchecked")
public TablePage getTablePage(TablePageQueryImpl tablePageQuery, int firstResult, int maxResults) {
    TablePage tablePage = new TablePage();
    @SuppressWarnings("rawtypes") List tableData = getDbSqlSession().getSqlSession().selectList("selectTableData", tablePageQuery, new RowBounds(firstResult, maxResults));
    tablePage.setTableName(tablePageQuery.getTableName());
    tablePage.setTotal(getTableCount(tablePageQuery.getTableName()));
    tablePage.setRows((List<Map<String, Object>>) tableData);
    tablePage.setFirstResult(firstResult);
    return tablePage;
}
Also used : TablePage(org.activiti.engine.management.TablePage) RowBounds(org.apache.ibatis.session.RowBounds) ArrayList(java.util.ArrayList) List(java.util.List) HashMap(java.util.HashMap) Map(java.util.Map)

Example 28 with RowBounds

use of org.apache.ibatis.session.RowBounds in project Mybatis-PageHelper by pagehelper.

the class RowBoundsTest method testMapperWithRowBounds.

/**
     * 使用Mapper接口调用时,对接口增加RowBounds参数,不需要修改对应的xml配置(或注解配置)
     * <p/>
     * RowBounds方式不进行count查询,可以通过修改Page代码实现
     * <p/>
     * 这种情况下如果同时使用startPage方法,以startPage为准
     */
@Test
public void testMapperWithRowBounds() {
    SqlSession sqlSession = RowBoundsHelper.getSqlSession();
    CountryMapper countryMapper = sqlSession.getMapper(CountryMapper.class);
    try {
        //获取第1页,10条内容,默认查询总数count
        List<Country> list = countryMapper.selectAll(new RowBounds(0, 10));
        //新增PageInfo对象,对返回结果进行封装
        assertEquals(10, list.size());
        //判断查询结果的位置是否正确
        assertEquals(1, list.get(0).getId());
        assertEquals(10, list.get(list.size() - 1).getId());
        //获取第10页,10条内容,显式查询总数count
        list = countryMapper.selectAll(new RowBounds(90, 10));
        assertEquals(10, list.size());
        //判断查询结果的位置是否正确
        assertEquals(91, list.get(0).getId());
        assertEquals(100, list.get(list.size() - 1).getId());
        //获取第3页,20条内容,默认查询总数count
        list = countryMapper.selectAll(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();
    }
}
Also used : SqlSession(org.apache.ibatis.session.SqlSession) CountryMapper(com.github.pagehelper.mapper.CountryMapper) RowBounds(org.apache.ibatis.session.RowBounds) Country(com.github.pagehelper.model.Country) Test(org.junit.Test)

Example 29 with RowBounds

use of org.apache.ibatis.session.RowBounds in project Mybatis-PageHelper by pagehelper.

the class BasicTest method testNamespace1.

@Test
public void testNamespace1() {
    SqlSession sqlSession = MybatisRowBoundsHelper.getSqlSession();
    try {
        Map<String, Object> map = new HashMap<String, Object>();
        Country country = new Country();
        country.setCountryname("China");
        map.put("country", country);
        //同时测试不可变Map
        map = Collections.unmodifiableMap(map);
        List<Country> list = sqlSession.selectList("select1", map, new RowBounds(1, 10));
        assertEquals(1, list.size());
        //判断查询结果的位置是否正确
        assertEquals(35, list.get(0).getId());
    } finally {
        sqlSession.close();
    }
}
Also used : SqlSession(org.apache.ibatis.session.SqlSession) HashMap(java.util.HashMap) Country(com.github.pagehelper.model.Country) RowBounds(org.apache.ibatis.session.RowBounds) Test(org.junit.Test)

Example 30 with RowBounds

use of org.apache.ibatis.session.RowBounds in project Mybatis-PageHelper by pagehelper.

the class PageSizeLessThenOrEqualZeroTest method testWithRowbounds.

/**
     * 使用Mapper接口调用时,使用PageHelper.startPage效果更好,不需要添加Mapper接口参数
     */
@Test
public void testWithRowbounds() {
    //注意这里是MybatisRowBoundsHelper,会求count
    SqlSession sqlSession = MybatisHelper.getSqlSession();
    CountryMapper countryMapper = sqlSession.getMapper(CountryMapper.class);
    try {
        //limit=0,这时候相当于用分页插件求count,但是前提必须是配置rounbounds方式求count,否则都是-1
        List<Country> list = countryMapper.selectAll(new RowBounds(1, -1));
        PageInfo<Country> page = new PageInfo<Country>(list);
        assertEquals(0, list.size());
        assertEquals(183, page.getTotal());
        //limit<0的时候同上
        list = countryMapper.selectAll(new RowBounds(1, -100));
        page = new PageInfo<Country>(list);
        assertEquals(0, list.size());
        assertEquals(183, page.getTotal());
    } finally {
        sqlSession.close();
    }
}
Also used : PageInfo(com.github.pagehelper.PageInfo) SqlSession(org.apache.ibatis.session.SqlSession) CountryMapper(com.github.pagehelper.mapper.CountryMapper) RowBounds(org.apache.ibatis.session.RowBounds) Country(com.github.pagehelper.model.Country) Test(org.junit.Test)

Aggregations

RowBounds (org.apache.ibatis.session.RowBounds)45 Test (org.junit.Test)35 SqlSession (org.apache.ibatis.session.SqlSession)31 Country (com.github.pagehelper.model.Country)14 CountryMapper (com.github.pagehelper.mapper.CountryMapper)7 BaseDataTest (org.apache.ibatis.BaseDataTest)7 MappedStatement (org.apache.ibatis.mapping.MappedStatement)7 HashMap (java.util.HashMap)6 PageInfo (com.github.pagehelper.PageInfo)4 Executor (org.apache.ibatis.executor.Executor)4 BoundSql (org.apache.ibatis.mapping.BoundSql)4 MetaObject (org.apache.ibatis.reflection.MetaObject)4 ResultHandler (org.apache.ibatis.session.ResultHandler)4 ArrayList (java.util.ArrayList)3 List (java.util.List)3 Map (java.util.Map)3 CacheKey (org.apache.ibatis.cache.CacheKey)3 Blog (org.apache.ibatis.domain.blog.Blog)3 DraftPost (org.apache.ibatis.domain.blog.DraftPost)3 Post (org.apache.ibatis.domain.blog.Post)3