mybatis_7分頁查詢

思考:爲何要分頁?java

  • 減小數據的處理量

7.一、使用Limit分頁

語法:SELECT * from user limit startIndex,pageSize;
SELECT * from user limit 3;  #[0,n]

使用Mybatis實現分頁,核心SQLgit

  1. 接口github

    //分頁
    List<User> getUserByLimit(Map<String,Integer> map);
  2. Mapper.xmlsql

    <!--//分頁-->
    <select id="getUserByLimit" parameterType="map" resultMap="UserMap">
        select * from  mybatis.user limit #{startIndex},#{pageSize}
    </select>
  3. 測試mybatis

    @Test
    public void getUserByLimit(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    
    HashMap<String, Integer> map = new HashMap<String, Integer>();
        map.put("startIndex",1);
        map.put("pageSize",2);
    
        List<User> userList =  mapper.getUserByLimit(map);
        for (User user : userList) {
        System.out.println(user);
        }
    
        sqlSession.close();
        }

7.二、RowBounds分頁

再也不使用SQL實現分頁,使用java代碼實現分頁,不推薦使用app

  1. 接口測試

    //分頁2
    List<User> getUserByRowBounds();
  2. mapper.xml插件

    <!--分頁2-->
    <select id="getUserByRowBounds" resultMap="UserMap">
        select * from  mybatis.user
    </select>
  3. 測試code

    @Test
    public void getUserByRowBounds(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    
    //RowBounds實現
    RowBounds rowBounds = new RowBounds(1, 2);
    
    //經過Java代碼層面實現分頁
    List<User> userList = sqlSession.selectList("com.loading.dao.UserMapper.getUserByRowBounds",null,rowBounds);
    
        for (User user : userList) {
        System.out.println(user);
        }
    
        sqlSession.close();
        }

7.三、分頁插件

mybaits-pagehelperxml

相關文章
相關標籤/搜索