分页的SQL语句
mysql数据库,可以采用limit语句进行分页。
oracle数据库,可以采用rownum的方式进行分页。
JFinal自带分页
对象.dao.paginate(pageNumber,pageSize,select,sqlException)
//pageNumber 第几页
//pageSize 一页几条记录
controller的某个方法:
int pageNumber; //p为指定跳转的页面
if(getParaToInt("pn")==null) //前端通过pn传参
int pageSize; //指定每一页的显示数量
if(getParaToInt("ps")==null) //对一页的数量的参数进行处理
Page list4 = Order.dao.paginate(pageNumber, pageSize,"select *", "from scjhgl_xsdd"); //所有订单
int x=list4.getTotalPage(); //共展示的页数
int y=list4.getPageSize(); //页码的大小
int z=list4.getTotalRow(); //数据库中数据总共的条数
String skip="";
for(int q=1;q<=x;q++)
{
skip=skip+""+q+"" ; //循环把链接输出 1 2 3 ,  空格,传ps参数是避免修改pageSize后恢复页面数改变
}
setAttr("iteration4", list4); //设置iteration4集合供前端页面获取数据库数据
setAttr("pn",pageNumber); //当前页面号供前端获取
setAttr("TotalPage",x);
setAttr("PageSize",y);
setAttr("TotalRow",z);
setAttr("skip",skip); //数字链接
renderFreeMarker("ddxi.html");
前端如果使用的是jsp页面可以如下显示:
controller可以如下:
Integer pageNumber = getParaToInt("pageNumber");
if(pageNumber=null) pageNumber=1;
Page list4 = Order.dao.paginate(pageNumber, 5,"select *", "from scjhgl_xsdd"); //所有订单
setAttr("iteration4",list4);
render("ddxi.jsp");
-------------------------------------------------------------------------------------------------
突然发现JFinal分页的问题有这么多人搜索,看了下阅读量两千多了。。。
由于要考研,已经有段时间没有写前端的代码了,这里给大家分享当初学JFinal时看的学习视频链接:
链接: https://pan.baidu.com/s/1nvRVPm5 密码: 1234
我后来的分页是用JQuery写的,现在前端的主流搭配应该是HTML+JQuery,就算要使用jsp也可以搭配JQuery,所以分页完全可以使用JQuery来实现,代码也给大家分享下:
审核新闻
序号
文章标题
录入时间
栏目
录入者
操作
public void SH(){
Page> dataPage= Db.paginate(getParaToInt("pageNumber", 1), 5, "SELECT *","FROM t_news where state=0"); // t_news表所有未审核数据
List acc = Account.dao.find("select * from t_user"); // 用户表所有信息,这里审核应该列出所有用户的信息
Map map1= new HashMap();
map1.put("paginate", dataPage);
map1.put("account", acc);
List