Search in sources :

Example 41 with User

use of com.github.pagehelper.model.User in project Mybatis-PageHelper by pagehelper.

the class PageHelperTest method shouldGetAllCountries.

@Test
public void shouldGetAllCountries() {
    SqlSession sqlSession = MybatisHelper.getSqlSession();
    try {
        List<User> list = sqlSession.selectList("selectAll");
        assertEquals(183, list.size());
    } finally {
        sqlSession.close();
    }
}
Also used : User(com.github.pagehelper.model.User) SqlSession(org.apache.ibatis.session.SqlSession) Test(org.junit.Test)

Example 42 with User

use of com.github.pagehelper.model.User in project Mybatis-PageHelper by pagehelper.

the class PageHelperTest method testMapperWithRowBounds.

/**
 * 使用Mapper接口调用时,对接口增加RowBounds参数,不需要修改对应的xml配置(或注解配置)
 * <p/>
 * RowBounds方式不进行count查询,可以通过修改Page代码实现
 * <p/>
 * 这种情况下如果同时使用startPage方法,以startPage为准
 */
@Test
public void testMapperWithRowBounds() {
    SqlSession sqlSession = MybatisHelper.getSqlSession();
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    try {
        // 获取第1页,10条内容,默认查询总数count
        List<User> list = userMapper.selectAll(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());
        // 获取第2页,10条内容,显式查询总数count
        list = userMapper.selectAll(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());
        // 获取第3页,20条内容,默认查询总数count
        list = userMapper.selectAll(new RowBounds(60, 20));
        assertEquals(20, list.size());
        assertEquals(183, ((Page<?>) list).getTotal());
        // 判断查询结果的位置是否正确
        assertEquals(61, list.get(0).getId());
        assertEquals(80, list.get(list.size() - 1).getId());
        // 同时使用startPage和RowBounds时,以startPage为准
        PageHelper.startPage(1, 20);
        list = userMapper.selectAll(new RowBounds(60, 20));
        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();
    }
}
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 43 with User

use of com.github.pagehelper.model.User 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<User> 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();
    }
}
Also used : User(com.github.pagehelper.model.User) SqlSession(org.apache.ibatis.session.SqlSession) RowBounds(org.apache.ibatis.session.RowBounds) Test(org.junit.Test)

Example 44 with User

use of com.github.pagehelper.model.User 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<User> 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();
    }
}
Also used : User(com.github.pagehelper.model.User) SqlSession(org.apache.ibatis.session.SqlSession) Test(org.junit.Test)

Example 45 with User

use of com.github.pagehelper.model.User in project Mybatis-PageHelper by pagehelper.

the class RemoveOrderTest method paramsOrderTest.

@Test
public void paramsOrderTest() {
    SqlSession sqlSession = MybatisHelper.getSqlSession();
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    // 主要观看查询执行count查询的sql
    try {
        PageHelper.startPage(1, 50);
        List<User> list = userMapper.selectAllOrderByParams("name", "py");
        // 总数183
        Assert.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)

Aggregations

User (com.github.pagehelper.model.User)87 SqlSession (org.apache.ibatis.session.SqlSession)87 Test (org.junit.Test)87 UserMapper (com.github.pagehelper.mapper.UserMapper)73 PageInfo (com.github.pagehelper.PageInfo)17 RowBounds (org.apache.ibatis.session.RowBounds)14 HashMap (java.util.HashMap)13 ArrayList (java.util.ArrayList)5 PageRowBounds (com.github.pagehelper.PageRowBounds)4 Map (java.util.Map)3 UserExample (com.github.pagehelper.model.UserExample)2 ISelect (com.github.pagehelper.ISelect)1 UserQueryModel (com.github.pagehelper.model.UserQueryModel)1