mybatis實現MySQL分頁顯示
阿新 • • 發佈:2018-12-10
SQL語句
select * from table_name limit startNum,Size 這句話的意思是從第startNum個數據開始(索引從0開始),總共顯示Size個。 注意,當為第一頁時,startNum為0,當為第二頁時,startNum為pageSize,所以startNum=(pageNum-1)*pageSize,由於SQL語句中,?不允許在關鍵字前後進行數學運算,所以,需要在程式碼中計算完成。
程式碼如下
int pageSize = 2; int pageNum = 1; Map<String,Integer> map1 = new HashMap<>(); map1.put("pageSize",pageSize); map1.put("pageStart", pageSize*(pageNum-1)); List<Flower> list = session.selectList("com.bjsxt.mapper.FlowerMapper.page",map1); System.out.println(list);
mapper.xml檔案如下
<select id="page" resultType="com.bjsxt.pojo.Flower" parameterType="map">
select * from flower limit #{pageStart},#{pageSize}
</select>
結果如下:
DEBUG 2018-09-18 07:50:02 第139行 ==> Preparing: select * from flower limit ?,? DEBUG 2018-09-18 07:50:02 第139行 ==> Parameters: 0(Integer), 2(Integer) DEBUG 2018-09-18 07:50:02 第139行 <== Total: 2 [id:1 name:櫻花 price:2.5 production:武漢, id:2 name:荷花 price:3.4 production:濟南]