Search in sources :

Example 51 with UserMapper

use of com.github.pagehelper.mapper.UserMapper in project Mybatis-PageHelper by pagehelper.

the class TestLeftjoin method testLeftjoin.

/**
 * left join的count查询sql特殊
 */
@Test
public void testLeftjoin() {
    SqlSession sqlSession = MybatisHelper.getSqlSession();
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    try {
        // 获取第1页,10条内容,默认查询总数count
        PageHelper.startPage(1, 10);
        List<User> list = userMapper.selectLeftjoin();
        assertEquals(1, list.get(0).getId());
        assertEquals(10, list.size());
        assertEquals(183, ((Page<?>) list).getTotal());
        // 获取第1页,10条内容,默认查询总数count
        PageHelper.startPage(2, 10);
        list = userMapper.selectLeftjoin();
        assertEquals(11, list.get(0).getId());
        assertEquals(10, list.size());
        assertEquals(183, ((Page<?>) list).getTotal());
    } finally {
        sqlSession.close();
    }
}
Also used : UserMapper(com.github.pagehelper.mapper.UserMapper) User(com.github.pagehelper.model.User) SqlSession(org.apache.ibatis.session.SqlSession) Test(org.junit.Test)

Example 52 with UserMapper

use of com.github.pagehelper.mapper.UserMapper in project Mybatis-PageHelper by pagehelper.

the class TestWith method testUnion.

/**
 * with的count查询sql特殊 - 只测试oracle,别的可能不支持
 */
@Test
public void testUnion() throws Exception {
    SqlSession sqlSession = MybatisHelper.getSqlSession();
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    // 只测试oracle
    if (!TestUtil.getXmlPath().equalsIgnoreCase("oracle")) {
        return;
    }
    try {
        // 获取第1页,10条内容,默认查询总数count
        PageHelper.startPage(1, 10);
        List<User> list = userMapper.selectWith();
        assertEquals(151, list.get(0).getId());
        assertEquals(10, list.size());
        assertEquals(33, ((Page<?>) list).getTotal());
        // 获取第1页,10条内容,默认查询总数count
        PageHelper.startPage(2, 10);
        list = userMapper.selectWith();
        assertEquals(161, list.get(0).getId());
        assertEquals(10, list.size());
        assertEquals(33, ((Page<?>) list).getTotal());
    } finally {
        sqlSession.close();
    }
}
Also used : UserMapper(com.github.pagehelper.mapper.UserMapper) User(com.github.pagehelper.model.User) SqlSession(org.apache.ibatis.session.SqlSession) Test(org.junit.Test)

Example 53 with UserMapper

use of com.github.pagehelper.mapper.UserMapper 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();
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    try {
        // 获取第1页,10条内容,默认查询总数count
        List<User> list = userMapper.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 = userMapper.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 = userMapper.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 : UserMapper(com.github.pagehelper.mapper.UserMapper) User(com.github.pagehelper.model.User) SqlSession(org.apache.ibatis.session.SqlSession) RowBounds(org.apache.ibatis.session.RowBounds) Test(org.junit.Test)

Example 54 with UserMapper

use of com.github.pagehelper.mapper.UserMapper in project Mybatis-PageHelper by pagehelper.

the class IPageTest method testIPage.

@Test
public void testIPage() {
    SqlSession sqlSession = MybatisHelper.getSqlSession();
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    try {
        UserIPage queryModel = new UserIPage();
        queryModel.setPageNum(1);
        queryModel.setPageSize(10);
        queryModel.setOrderBy("id desc");
        List<User> list = userMapper.selectByQueryModel(queryModel);
        assertEquals(10, list.size());
        assertEquals(183, ((Page<?>) list).getTotal());
        queryModel.setPageNum(2);
        queryModel.setOrderBy(null);
        list = userMapper.selectByQueryModel(queryModel);
        assertEquals(10, list.size());
        assertEquals(183, ((Page<?>) list).getTotal());
        queryModel.setPageNum(null);
        queryModel.setPageSize(null);
        queryModel.setOrderBy("id asc");
        list = userMapper.selectByQueryModel(queryModel);
        assertEquals(1, list.get(0).getId());
        assertEquals(183, list.size());
        assertEquals(183, ((Page<?>) list).getTotal());
    } finally {
        sqlSession.close();
    }
}
Also used : UserMapper(com.github.pagehelper.mapper.UserMapper) User(com.github.pagehelper.model.User) SqlSession(org.apache.ibatis.session.SqlSession) Test(org.junit.Test)

Example 55 with UserMapper

use of com.github.pagehelper.mapper.UserMapper in project Mybatis-PageHelper by pagehelper.

the class TestUnion method testUnion.

/**
 * union的count查询sql特殊
 */
@Test
public void testUnion() {
    SqlSession sqlSession = MybatisHelper.getSqlSession();
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    try {
        // 获取第1页,10条内容,默认查询总数count
        PageHelper.startPage(1, 10);
        List<User> list = userMapper.selectUnion();
        assertEquals(1, list.get(0).getId());
        assertEquals(10, list.size());
        assertEquals(13, ((Page<?>) list).getTotal());
        // 获取第1页,10条内容,默认查询总数count
        PageHelper.startPage(2, 10);
        list = userMapper.selectUnion();
        assertEquals(181, list.get(0).getId());
        assertEquals(3, list.size());
        assertEquals(13, ((Page<?>) list).getTotal());
    } finally {
        sqlSession.close();
    }
}
Also used : UserMapper(com.github.pagehelper.mapper.UserMapper) User(com.github.pagehelper.model.User) SqlSession(org.apache.ibatis.session.SqlSession) Test(org.junit.Test)

Aggregations

UserMapper (com.github.pagehelper.mapper.UserMapper)75 SqlSession (org.apache.ibatis.session.SqlSession)75 Test (org.junit.Test)75 User (com.github.pagehelper.model.User)73 PageInfo (com.github.pagehelper.PageInfo)17 RowBounds (org.apache.ibatis.session.RowBounds)7 ArrayList (java.util.ArrayList)5 HashMap (java.util.HashMap)5 Map (java.util.Map)3 PageRowBounds (com.github.pagehelper.PageRowBounds)2 UserExample (com.github.pagehelper.model.UserExample)2 BoundSqlInterceptor (com.github.pagehelper.BoundSqlInterceptor)1 ISelect (com.github.pagehelper.ISelect)1 ProviderMethod (com.github.pagehelper.mapper.ProviderMethod)1 UserCode (com.github.pagehelper.model.UserCode)1 UserQueryModel (com.github.pagehelper.model.UserQueryModel)1 CacheKey (org.apache.ibatis.cache.CacheKey)1 BoundSql (org.apache.ibatis.mapping.BoundSql)1