重点:
1、数据库:Mysql ==> MySQL用的是limit进行分页查询
代码示例:
语句1:select * from student limit 0,10
// 语句1和2均返回表student的前10行 ,语句1 :第一个参数表示从该参数的下一条数据开始查询,第二个参数表示每次返回的数据条数。
语句2:select * from student limit 10 offset 0
//语句2 :第二个参数表示从该参数的下一条数据开始查询,第一个参数表示每次返回的数据条数。
2、计算分页页数:
首先通过sql查询出满足条件的总记录数(totalCount):
select count(1) from tablename
之后计算总页数(totalPage):
Double totalPage = Math.ceil(totalCount/ 10) (这里每页记录数使用固定值10,可换为变量)
使用Math.ceil()函数==>向上取整
即:Math.ceil( 23.0 /10 )==> 3.0 (拓展:向下取整:Math.floor())
totalPage的类型将影响结果:
如果totalPage使用Int类型==> 如: 23/10 ==>2 ,如取Double类型 ==>如: 23.0/10 = 2.3
所以这里需采用Double。
下面为具体案例:
SQL:
工单列表:
<select id="selectByCompanyCode" parameterType="WorkOrderMo" resultType="WorkVO">
SELECT
two.cust_id as custId
FROM tb_work_order two
join tc_work_type twt on two.work_type = twt.work_type