﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-我的Blog我做主^_^-文章分类-ibatis</title><link>http://www.blogjava.net/wyz191/category/26987.html</link><description>走向一条通往JAVA的不归路...</description><language>zh-cn</language><lastBuildDate>Tue, 30 Oct 2007 09:01:07 GMT</lastBuildDate><pubDate>Tue, 30 Oct 2007 09:01:07 GMT</pubDate><ttl>60</ttl><item><title>ibatis　分页</title><link>http://www.blogjava.net/wyz191/articles/156923.html</link><dc:creator>java_蝈蝈</dc:creator><author>java_蝈蝈</author><pubDate>Tue, 30 Oct 2007 06:07:00 GMT</pubDate><guid>http://www.blogjava.net/wyz191/articles/156923.html</guid><wfw:comment>http://www.blogjava.net/wyz191/comments/156923.html</wfw:comment><comments>http://www.blogjava.net/wyz191/articles/156923.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wyz191/comments/commentRss/156923.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wyz191/services/trackbacks/156923.html</trackback:ping><description><![CDATA[<p>＝＝＝＝＝＝＝分页BEAN＝＝＝＝＝＝＝＝</p>
<p>import java.util.List;</p>
<p>/**<br />
&nbsp;* ibatis分页Bean<br />
&nbsp;* @author Administrator<br />
&nbsp;*<br />
&nbsp;*/<br />
public class PageUtil {</p>
<p>&nbsp;private int curPage = 0; //当前页<br />
&nbsp;private int pageSize = 0; //每页多少行<br />
&nbsp;private int endSize ; //用于not in(select top endSize id)不在多少行内<br />
&nbsp;private int totalRow ; //共多少行<br />
&nbsp;private int totalPage ; //共多少页<br />
&nbsp;<br />
&nbsp;public int getCurPage() {<br />
&nbsp;&nbsp;return curPage;<br />
&nbsp;}<br />
&nbsp;public void setCurPage(int curPage) {<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;int temp = pageSize * (curPage-1);<br />
&nbsp;&nbsp;this.setEndSize(temp);<br />
&nbsp;&nbsp;this.curPage = curPage;<br />
&nbsp;}<br />
&nbsp;public int getEndSize() {<br />
&nbsp;&nbsp;return endSize;<br />
&nbsp;}<br />
&nbsp;public void setEndSize(int endSize) {<br />
&nbsp;&nbsp;this.endSize = endSize;<br />
&nbsp;}<br />
&nbsp;public int getPageSize() {<br />
&nbsp;&nbsp;return pageSize;<br />
&nbsp;}<br />
&nbsp;public void setPageSize(int pageSize) {<br />
&nbsp;&nbsp;this.pageSize = pageSize;<br />
&nbsp;}<br />
&nbsp;public int getTotalRow() {<br />
&nbsp;&nbsp;return totalRow;<br />
&nbsp;}<br />
&nbsp;public void setTotalRow(int totalRow) {<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;totalPage = totalRow/pageSize;<br />
&nbsp;&nbsp;if(totalRow%pageSize &gt; 0)<br />
&nbsp;&nbsp;&nbsp;totalPage = totalPage + 1;<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;this.totalRow = totalRow;<br />
&nbsp;}<br />
&nbsp;public int getTotalPage(){<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;return this.totalPage;<br />
&nbsp;}<br />
&nbsp;public String getToolsMenu() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StringBuffer str = new StringBuffer("");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int next, prev;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prev = curPage - 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; next = curPage + 1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (curPage &gt; 1) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;a href=\"#\" onclick=\"document.forms(0).pages.value=1;document.forms(0).submit();\"&gt;首页&lt;/a&gt;&amp;nbsp;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;a href=\"#\"&gt;首页&lt;/a&gt;&amp;nbsp;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (curPage &gt; 1) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;a href=\"#\" onclick='document.forms(0).pages.value=" +prev + ";document.forms(0).submit();'&gt;上页&lt;/a&gt;&amp;nbsp;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;a href=\"#\"&gt;上页&lt;/a&gt;&amp;nbsp;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (curPage &lt; totalPage) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;a href=\"#\" onclick='document.forms(0).pages.value=" +next + ";document.forms(0).submit();'&gt;下页&lt;/a&gt;&amp;nbsp;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;a href=\"#\" &gt;下页&lt;/a&gt;&amp;nbsp;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (totalPage &gt; 1 &amp;&amp; curPage != totalPage) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;a href=\"#\"&nbsp; onclick='document.forms(0).pages.value=" +totalPage + ";document.forms(0).submit();'&gt;末页&lt;/a&gt;&amp;nbsp;&amp;nbsp;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;a href=\"#\" &gt;末页&lt;/a&gt;&amp;nbsp;&amp;nbsp;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append(" 共" + totalRow + "条记录");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&nbsp; 每页&lt;SELECT size=1 name=pagesize onchange='this.form.pages.value=1;this.form.pageSize.value=this.value;this.form.submit();'&gt;");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pageSize == 3) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;OPTION value=3 selected&gt;3&lt;/OPTION&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;OPTION value=3&gt;3&lt;/OPTION&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pageSize == 10) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;OPTION value=10 selected&gt;10&lt;/OPTION&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;OPTION value=10&gt;10&lt;/OPTION&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pageSize == 20) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;OPTION value=20 selected&gt;20&lt;/OPTION&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;OPTION value=20&gt;20&lt;/OPTION&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pageSize == 50) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;OPTION value=50 selected&gt;50&lt;/OPTION&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;OPTION value=50&gt;50&lt;/OPTION&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (pageSize == 100) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;OPTION value=100 selected&gt;100&lt;/OPTION&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;OPTION value=100&gt;100&lt;/OPTION&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;/SELECT&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("条 分" + pageSize + "页显示 转到");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;SELECT size=1 name=Pagelist onchange='this.form.pages.value=this.value;this.form.submit();'&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 1; i &lt; totalPage + 1; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (i == curPage) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;OPTION value=" + i + " selected&gt;" + i +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;/OPTION&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;OPTION value=" + i + "&gt;" + i + "&lt;/OPTION&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;/SELECT&gt;页");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;INPUT type=hidden&nbsp; value=" + curPage + " name=\"pages\" &gt; ");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str.append("&lt;INPUT type=hidden&nbsp; value=" + pageSize +<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " name=\"pageSize\"&gt; ");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return str.toString();<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
}<br />
</p>
<p>＝＝＝＝＝＝＝＝配置文件＝＝＝＝＝＝＝<br />
&lt;typeAlias alias="leaveBill" type="com.luke.wz.kf.bean.LeaveBill"/&gt;<br />
&nbsp;&lt;typeAlias alias="page" type="com.luke.wz.kf.bean.PageUtil"/&gt;<br />
&lt;select id="getWaitingLeaveBillByPage" resultClass="leaveBill" parameterClass="page"&gt;<br />
&nbsp;&nbsp;select <br />
&nbsp;&nbsp;&lt;dynamic prepend=""&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;isNotEqual compareValue="0" property="pageSize" prepend=""&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;top $pageSize$<br />
&nbsp;&nbsp;&nbsp;&lt;/isNotEqual&gt;<br />
&nbsp;&nbsp;&nbsp;* from leavebill<br />
&nbsp;&nbsp;&nbsp;&lt;isNotEqual prepend="where" compareValue="0" property="pageSize"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;id not in (select top $endSize$ id from leavebill) and state != '已归档' and state != '已完成'<br />
&nbsp;&nbsp;&nbsp;&lt;/isNotEqual&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;isEqual prepend="where" compareValue="0" property="pageSize"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;state != '已归档' and state != '已完成'<br />
&nbsp;&nbsp;&nbsp;&lt;/isEqual&gt;<br />
&nbsp;&nbsp;&lt;/dynamic&gt;<br />
&nbsp;&lt;/select&gt;</p>
<p>＝＝＝＝＝＝＝DAO　method＝＝＝＝＝＝＝＝</p>
<p>public List getWaitingLeaveBill(PageUtil page){<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;List list = null;<br />
&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;list = sqlMapClientTemplate.queryForList("getWaitingLeaveBillByPage",page);<br />
&nbsp;&nbsp;} catch (Exception e) {</p>
<p>&nbsp;&nbsp;&nbsp;logger.error(e.getMessage());<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;return list;<br />
&nbsp;}</p>
<p><br />
＝＝＝＝＝＝＝＝＝具体操作＝＝＝＝＝＝＝<br />
public ModelAndView toWaitingLeaveBillList(HttpServletRequest request, HttpServletResponse response){<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;PageUtil page = new PageUtil();<br />
&nbsp;&nbsp;java.util.List list = leaveBillDao.getWaitingLeaveBill(page);<br />
&nbsp;&nbsp;int temp = list.size();<br />
&nbsp;&nbsp;if(null != request.getParameter("pageSize") &amp;&amp; !"".equals(request.getParameter("pageSize"))){<br />
&nbsp;&nbsp;&nbsp;page.setPageSize(Integer.parseInt(request.getParameter("pageSize")));<br />
&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;page.setPageSize(3);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;page.setTotalRow(temp);&nbsp;<br />
&nbsp;&nbsp;if(null != request.getParameter("pages") &amp;&amp; !"".equals(request.getParameter("pages"))){<br />
&nbsp;&nbsp;&nbsp;page.setCurPage(Integer.parseInt(request.getParameter("pages")));<br />
&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;page.setCurPage(1);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;request.setAttribute("menu",page.getToolsMenu());<br />
&nbsp;&nbsp;request.setAttribute("waitinglist",leaveBillDao.getWaitingLeaveBill(page));<br />
&nbsp;&nbsp;return new ModelAndView(WAITINGLIST);<br />
&nbsp;}<br />
</p>
<p>这是针对ＭＳ　ＳＱＬ的，针对ＭＹＳＱＬ或其它数据库的情况，改动一下配置文件即可。<br />
</p>
 <img src ="http://www.blogjava.net/wyz191/aggbug/156923.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wyz191/" target="_blank">java_蝈蝈</a> 2007-10-30 14:07 <a href="http://www.blogjava.net/wyz191/articles/156923.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>