SELECT * FROM news ORDER BY adddate DESC LIMIT ?,?MySQL中取从?开始的?行. 剩下的是很简单的计算,自己做吧.
mysql> SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1: mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.//如果只给定一个参数,它表示返回最大的记录行数目: mysql> SELECT * FROM table LIMIT 5; //检索前 5 个记录行//换句话说,LIMIT n 等价于 LIMIT 0,n。
解释很难解释清楚,到download.csdn.net去搜索下java 分页,找源码研究下。
SELECT * FROM news ORDER BY adddate DESC LIMIT ?,?
oracle中select * from (select a.*,rownum r from (sql) a where rownum <=?) where r>=?;当中的sql 是你查询表的中全部记录的sql语句,比如select * from users; 第一个?是查记录最大位置,第二个?是查记录的最小位置,比如是查 10到20条的记录 就是 <=20 >=10这样就可以查出对应的记录了.
楼主【mylisc】截止到2008-07-05 12:31:58的历史汇总数据(不包括此帖):
发帖的总数量:9 发帖的总分数:171
结贴的总数量:7 结贴的总分数:131
无满意结贴数:1 无满意结贴分:1
未结的帖子数:2 未结的总分数:40
结贴的百分比:77.78 % 结分的百分比:76.61 %
无满意结贴率:14.29 % 无满意结分率:0.76 %
楼主加油
SELECT * FROM news ORDER BY adddate DESC LIMIT ?,?MySQL中取从?开始的?行.
剩下的是很简单的计算,自己做吧.
mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.//如果只给定一个参数,它表示返回最大的记录行数目:
mysql> SELECT * FROM table LIMIT 5; //检索前 5 个记录行//换句话说,LIMIT n 等价于 LIMIT 0,n。
第一个?是查记录最大位置,第二个?是查记录的最小位置,比如是查 10到20条的记录
就是 <=20 >=10这样就可以查出对应的记录了.
<center>
<form name="form" action="./contact" method="get"><table border="1" bgcolor="red" >
<tr bgcolor="green"><th>书名</th><th>编号</th><th>出版社</th><th>价格</th></tr>
<% List l=(List)request.getAttribute("list");
TBook b=new TBook();
for(int i=0;i<l.size();i++){
b=(TBook)l.get(i);
%>
<tr>
<td><%=b.getName()%></td>
<td><%=b.getNumber()%></td>
<td><%=b.getPress()%></td>
<td><%=b.getPrice()%></td>
<td><a href="./contact?action=third&id=<%=b.getId()%>">修改</a></td>
<%
}
%>
</table>
<%for(int j=1;j<=(Integer)(session.getAttribute("count"));j++)
{ %>
<a href="./contact?action=second&t=a&id=<%=j%>">第<%=j%>页</a>
<%}%>
</center>
无论怎样都应该是mvc模式的吧?
在控制器端接受要转到的页面、设置每页的记录数、返回当前页数和总记录数等操作;
在bean主要是利用mysql的limit来实现分页控制!就如他们上面说的那样;
部分代码如下:
控制器:
// 获得当前要显示的页码 ///////////////////// 以下为分页专区
int intNowPageNum = 0;
String strNowPageNum = request.getParameter("h_GoPage");
if (strNowPageNum == null || "".equals(strNowPageNum)) {
intNowPageNum = 1;
}
else {
intNowPageNum = Integer.parseInt(strNowPageNum);
}
// 总记录数
int intSumCount = paperManage.compuPapCount(request, strUserId);
// 每页显示的记录数
int intPageCount = 10;
// 第一笔数据值
int intStartValue = 0;
// 总页数
int intTotalPage = 0;
if (intNowPageNum == 0) {
intNowPageNum = 1;
intStartValue = 0;
}
else {
// 根据总记录数据和每页要显示的记录数计算出总页数
intTotalPage = (intSumCount % intPageCount == 0) ? (intSumCount / intPageCount)
: (intSumCount / intPageCount + 1);
if (intNowPageNum >= intTotalPage) {
intNowPageNum = intTotalPage;
}
// 在有记录的情况下计算当前要显示页的第一笔数据!!!!!!!!!!!!!
if (intTotalPage != 0) {
intStartValue = (intNowPageNum - 1) * intPageCount;
}
} // 得到当前页面的论文信息集合 /////////////////////////// 分页专区结束
lstPaper = paperManage.queryPaperList(request, strUserId, intStartValue, intPageCount);
intPaperCount = paperManage.compuPapCount(request, strUserId);
request.setAttribute("intSumCount", intSumCount);
request.setAttribute("intTotalPage", intTotalPage);
request.setAttribute("intNowPageNum", intNowPageNum);
request.setAttribute("lstPaper", lstPaper);
request.setAttribute("rybh", strUserId);
request.setAttribute("intSumCount", intPaperCount);
HttpServletResponse response) {
String systemUser_login_name = (String) request.getSession().getAttribute("systemUser_login_logined");
Integer userId = (Integer) request.getSession().getAttribute("systemUserlogin_id");
SystemUser sysUser = managerSyUs.getSystemUser(userId.toString()); DetachedCriteria detachedCriteria = DetachedCriteria.forClass(IncomeExpenses.class);
detachedCriteria.add(Restrictions.eq("systemUser", sysUser)).add(Restrictions.disjunction())
.addOrder(Order.desc("incExpId")); Order order = Order.desc("incExpId");
int pageSize = 0;
try {
pageSize = Integer
.parseInt(request.getSession().getServletContext().getInitParameter("pageSize"));
} catch (Exception e) {
pageSize = 10;
} int pageNumber = 0;
//String paramName = (new ParamEncoder("lifo").encodeParameterName(TableTagParameters.PARAMETER_PAGE));
try {
pageNumber = Integer.parseInt(request.getParameter("p"));
} catch (Exception e) {
pageNumber = 1;
}
int startIndex = 0;
if (pageNumber == 1) {
startIndex = 0;
} else {
startIndex = pageSize * (pageNumber - 1);
} PaginationSupport ps = mangagerNewPagin.findPageByCriteria(detachedCriteria, pageSize, startIndex);
List list = ps.getItems();
String userName = systemUser_login_name;
Iterator it = list.iterator();
IncomeExpenses inEx = null;
IncomeExpensesType incomeExpensesType = null;
IncomeExpensesInfo inExInfo = null;
List listInfo = new ArrayList();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
while (it.hasNext()) {
inEx = (IncomeExpenses) it.next();
Integer user_Id = inEx.getSystemUser().getUserId();
Integer incExpTypId = inEx.getIncomeExpensesType().getIncExpTypId();
incomeExpensesType = managerInExTyMa.getIncomeExpensesType(String.valueOf(incExpTypId));
String incExpTyp = incomeExpensesType.getIncExpTyp();
inExInfo = new IncomeExpensesInfo();
inExInfo.setUserName(userName);
inExInfo.setIncExpTyp(incExpTyp);
inExInfo.setIncExpDesc(inEx.getIncExpDesc());
inExInfo.setIncExpId(Integer.toString(inEx.getIncExpId()));
inExInfo.setIncExpMn(Double.toString(inEx.getIncExpMn()));
inExInfo.setIncExpTime(sdf.format(inEx.getIncExpTime()));
inExInfo.setIncExpRe(inEx.getIncExpRe());
listInfo.add(inExInfo);
}
request.setAttribute("listInfo", listInfo);
request.setAttribute("total", ps.getTotalCount());
return mapping.findForward("incomeExpenses.listIncomeExpensesByTable");
}