首页 > 其他 > 详细

mybatis的学习4______分页的实现

时间:2019-07-24 13:54:13      阅读:87      评论:0      收藏:0      [点我收藏+]

分页的实现此处有两种思路:

1. 使用SQL的 limit ?,?  

2.使用RowBounds

方式一 (步骤:):

1.dao层中UserMapper接口的编写:

   //分页的sql实现
    List<User> getUserLimit(Map<String,Integer> map);

 

2.dao层中UserMapper接口的userMapper.xml编写

 <select id="getUserLimit" parameterType="Map" resultType="User">
        select * from user limit #{indexStart},#{pageSize}
    </select>

3.项目测试类的编写:

   @Test
    public void testSqlLimit(){

        SqlSessionFactory sqlSessionFactory = MybatisUtils.getSqlSessionFactory();

        SqlSession sqlSession = sqlSessionFactory.openSession();


        int currentPage=1;
        int pageSize=2;
        Map<String, Integer> map = new HashMap<String,Integer>();
        map.put("indexStart",(currentPage-1)*pageSize);
        map.put("pageSize",pageSize);

        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> userLimit = mapper.getUserLimit(map);
        System.out.println(userLimit);
    }

方式二(步骤):

1.dao层中UserMapper接口的编写:

    //分页的代码实现
    List<User> getUserByRowBounds();

2.dao层中UserMapper接口的userMapper.xml编写

  <select id="getUserByRowBounds" resultType="User">
        select * from user
    </select>

3.测试类:

@Test
    public void testRowBounds(){
        SqlSessionFactory sqlSessionFactory = MybatisUtils.getSqlSessionFactory();
        SqlSession sqlSession = sqlSessionFactory.openSession();

        int currentPage=2;
        int pageSize=2;
        RowBounds rowBounds = new RowBounds((currentPage - 1) * pageSize, pageSize);
        //传进2参数
        //不能用getMapper
        List<Object> user = sqlSession.selectList("com.xbf.dao.UserMapper.getUserByRowBounds", null, rowBounds);
        System.out.println(user);

    }

 

mybatis的学习4______分页的实现

原文:https://www.cnblogs.com/xbfchder/p/11237325.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!