/**
* 获取指定页的记录
*
* @param sql
* 要执行的sql
* @param args
* 要执行sql的参数
* @param req
* 页面传递的参数
* @return PageObject
*/
public PageObject queryForMPageList(String sql, Object[] args, Map req) {
int totalCount = 1;
int start = NumberUtils.toInt(ObjectUtils.toString(req.get("start"),
"1"));
int limit = NumberUtils.toInt(ObjectUtils.toString(req.get("limit"),
"25"));
String sort = ObjectUtils.toString(req.get("sort"));
String dir = ObjectUtils.toString(req.get("dir"));
System.out.println("sort是"+sort+",dir是"+dir);
StringBuffer buildsql = new StringBuffer();
buildsql.append("select * from (");
buildsql.append(" select rownum temp_num,temp.* from (");
if (sort != null && !"".equals(sort)) {
String pa = "order by (,|\\.|\\w|\\d| )+( asc| desc)?( Nulls last)?( Nulls first)?\\s?$";
String re = " order by " + sort + " " + dir;
System.out.println("re是"+re);
Matcher matcher = Pattern.compile(pa, Pattern.CASE_INSENSITIVE)
.matcher(sql);
if (matcher.find()) {
buildsql.append(matcher.replaceFirst(re));
System.out.println("matcher.replaceFirst(re)是"+matcher.replaceFirst(re));
}
} else {
buildsql.append(sql);
}
buildsql.append(" ) temp where rownum<="
+ String.valueOf(start + limit));
buildsql.append(") where temp_num>" + String.valueOf(start));
List list = super.getJdbcTemplate().queryForList(buildsql.toString(),
args);
String countsql = "select count(*) from (" + sql + ")";
totalCount = super.getJdbcTemplate().queryForInt(countsql, args);
PageObject page = new PageObject();
page.setDatasource(list);
page.setTotalCount(totalCount);
int _absolutePage = (int)Math.ceil(totalCount * 1.0/limit);
page.setAbsolutePage(_absolutePage);
int _currentPage = start/limit + 1;
page.setCurrentPage(_currentPage);
return page;
}
分享到:
相关推荐
使用在线分页 办法 直接调用 public List showPage(int pageSize,int page,ArrayList<Object> list) 方法即可。 使用离线分页 办法 调用 public boolean checkList() 判断 当前实体 中 param: list 是否为空 空则...
jsp 自定义分页查询 可以带查询条件 因为网上很多 都不能带查询条件 所以本人做了修改 可以实现自定义 带条件的查询
if (this.pageCount >= startPage + 10) strHtml += '<span title="Next 10 Pages"><a href="javascript:' + this.name + '.toPage(' + (startPage + 10) + ');">...</a></span>'; if (nextPage > this....
private void Page_Load(object sender, System.EventArgs e) { this.AspNetPager1.PageSize=10; //设置每也显示的记录条数 if(!IsPostBack) //只在页面第一次加载时起作用 { SqlDBManager db = new ...
Query对象新增加了一个属性Objectids,用于指定执行查询的objectid的范围,这就使我们可以根据executeForIds()得到的每一夜的Objectids去执行查询,实现分页查询。例如,以下代码所示: ``` public function ...
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string sql="select * from news"; Jpage1.Jselect = sql; // 查询语句 Jpage1.Jsortfield = "id desc";//排序方式 Jpage1....
private void btn_query_Click(object sender, EventArgs e) { DataSource=GetData(); winFormPager1.RecordCount =dt.Rows.Count; } //分页控件分页事件 private void winFormPager1_PageChanged() { GV_...
C#编写的ajax无刷新分页控件。 NikeBoyAjaxPager就是新增的无刷新分页控件,同样支持任何数据控件,... protected void Page_Load(object sender, EventArgs e) { NikeBoyAjaxPager1.Count = 1111; } QQ:85288287
private void Page_Load(object sender, EventArgs e) { conn.Open(); // 打开数据库链接 string strSql = "SELECT * FROM 人员档案"; // 数据库执行语句 SqlDataAdapter sda = new SqlDataAdapter(strSql, conn)...
java jdbc 分页工具类,以及返回集合数据的封装, private int limit = 10;//每页的个数 /** * 当前页 */ private int page; // /** * 总行数 */ private int totalRows; // /** * 总页数 */ private ...
///ElseCkeck()返回页面验证码图片 使用方法:单独创建一个页面 在首次加载事件里写 AspNetHelp.ElseCkeck(Page); 在使用验证码的页面直接写 img src="这个页面的路径" 注意验证码保存在 Session["CheckCode"]中 这里...
this.currentpage.Text = Convert.ToString(Convert.ToInt32(currentpage.Text) - 1); this.LoadRankUnitPrice(); } /// <summary> 下一页 protected void Next_Click(object sender, EventArgs e) { this....
* 分页查询 */ @RequestMapping("queryPageList") @ResponseBody public PageResult queryPageList(Integer page,Integer rows, User user) { return userService.queryPageList(page,rows,user); } ...
分页控件,拖曳就可以用了,,,需在调用的页面绑定事件: void Page_LoadComplete(object sender,Evergs e){ PaginationControl1.DataBindDdlSelectPageIndex(); BindData_GVUser(); } GridView: /// /// ...
} <br/>} <br/>} <br/>如果是WEB页面上的分页可以直接使用 List data=WebPageUtils.acPageData(request,DemoPage.class); 就可以得到数据了,其中request中存放了ActionTypes中定义的各个...
这个分页控件名为AspNetPager控件,是Asp.net上使用率最高的分页控件,想怎么分就怎么分.附带'超详细代码注释",好用请给评论. 基本步骤: 1.拖拽控件(存放到到Bin目录下,再拖入工具箱) 2.粘贴复制(已放出实例源码) 3....
不管jsp使用的什么开发模式,也不管使用何种数据库,只要按插件要求进行返回操作,就可轻松的实现分页。 2、此插件将分页与搜索分离,高度解耦合,可在分页的同时,轻松实现搜索操作。 3、程序绿色,简洁,...
$ajaxpage=new page(array('total'=>1000,'perpage'=>20,'ajax'=>'ajax_page','page_name'=>'test')); echo 'mode:1 '.$ajaxpage->show(); 采用继承自定义分页显示模式: demo:[url=...
list的分页 import java.util.ArrayList; import java.util.List; import com.jsp.vo.Client; /** * PageBean * * @author apple * */ public class Page { private int currentPage; // 当前页数 ...
Pagination.Page($(".ht-page"), i, 10000, 10); } /* * 初始化插件 * @param object:翻页容器对象 * @param function:回调函数 * */ Pagination.init($(".ht-page"), pageChange); /* * 首次调用 * @...