mapper的xml檔案可以按如下方式來寫:
<!-- 用來記錄分頁查詢時的所有資料量,避免出現分頁查詢時需要查詢兩次 -->
<resultMap type="java.lang.Integer" id="count">
<result column="total"/>
</resultMap>
<!-- 多條件查詢 /分頁查詢-->
<select id="selectPage" resultMap="自定義的resultMap,count">
SELECT SQL_CALC_FOUND_ROWS * FROM 表名及條件
WHERE ID in (SELECT ID from (SELECT ID FROM A LIMIT ${(pageNo-1)*pageSize},#{pageSize}) AS t)
order by ID;
<!-- 查詢資料量 -->
SELECT FOUND_ROWS(*) AS total;
</select>
mapper介面:
List<Object> selectPage(@Param("pageNo") Integer pageNo, @Param("pageSize") Integer pageSize);
service層:
Mapper介面實體.selectPage(Integer pageNo,Integer pageSize);
controller層:
List<Object> list = Service實體.selectPage(pageNo,pageSize);
List<物體類名> wcenters = (List<物體類名>) list.get(0); //資料集合
Integer total = ((List<Integer>) list.get(1)).get(0);//總量
注意:在使用時需要在組態檔中,設定允許sql進行多陳述句執行:allowMultiQueries=true,在sql的url上加上這個配置就可以了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/7547.html
標籤:其他
上一篇:ERD圖
