分页思路及实现原理(MySQL)

分页思路(mysql)

1、在DBUtil层查询数据。

2、在Dao层传入Sql和占位的数据params。

3、service层调用Dao层方法。

4、servlet层获取前台的的数据,层层传递到BDUtil层

5、总页数 = 总数据个数%每页显示几条数据==0?总数据个数%每页显示几条数据:(总数据个数%每页显示几条数据)+1

实现原理:

1、利用mysql的limit实现。

2、mysql的分页是从0页开始。

  • limit m:返回m条数据。

  • offset m:跳过m条数据。

  • limit n,m -->(limit m offset n):跳过n条数据返回m条数据。

3、String sql = “select * from code limit ?,?”;

  • 第一个占位符应为(n * m),第二个占位则为m:表示每次跳过(n * m)条数据,读取m条数据。

4、获取最大数据个数:String sql = “select count(1) from code”;

//查询后的数据个数大于页面数据个数
if(this.getPageCount(con,userName,roleId) >pageData){
            sql.append("order by u.creationDate DESC limit ?,?");
            //mysql从第0页开始
            arrayList.add(current * pageData);
            arrayList.add(pageData);
        }
        Object[] params  = arrayList.toArray();
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值