1.页面点击查询所有
int num = 1;
int rowCount = 0;
int size = 10;//定义分页的每页显示的初始个数
if(str_num != null && !"".equals(str_num)) {
num = Integer.parseInt(str_num);
}
if(str_size != null && !"".equals(str_size)){
size = Integer.parseInt(str_size);
}
List<Param> params = new ArrayList<Param>();
Map<String, String> orders = new HashMap<String, String>();
//--------设置查询条件开始----------
if(sktname!=null && !"".equals(sktname.trim())){//课题名称
Param param1 = new Param("kt.ktName1","like",sktname);
params.add(param1);
}
if(sktprojectname!=null && !"".equals(sktprojectname.trim())){//所属专项名称
Param param2 = new Param("kt.ktProjectName","like",sktprojectname);
params.add(param2);
}
if(sktcommission!=null && !"".equals(sktcommission.trim())){//课题委托单位
Param param3 = new Param("kt.ktCommissionUnit","like",sktcommission);
params.add(param3);
}
if(sktundertaker!=null && !"".equals(sktundertaker.trim())){//承担单位
Param param4 = new Param("kt.ktUndertakeUnitName1","like",sktundertaker);
params.add(param4);
}
if(sktleader!=null && !"".equals(sktleader.trim())){//负责人
Param param5 = new Param("kt.ktLeader","like",sktleader);
params.add(param5);
}
//创建时间
if(sdate1 != null && !"".equals(sdate1.trim()) && sdate2 != null && !"".equals(sdate2.trim())){
Param param6 = new Param("kt.ktUpdateDate","between",sdate1+","+sdate2);
params.add(param6);
}else{
if(sdate1 != null && !"".equals(sdate1.trim())){
Param param7 = new Param("kt.ktUpdateDate",">=",sdate1);
params.add(param7);
}else if(sdate2 != null && !"".equals(sdate2.trim())){
Param param8 = new Param("kt.ktUpdateDate","<=",sdate2);
params.add(param8);
}
}
if(status!=null && !"".equals(status.trim())){//审核状态
Param param9 = new Param("kt.ktStatus","=",status);
params.add(param9);
}
//降序排序
orders.put("kt.ktUpdateDate", "desc");
//----------设置条件结束------------------
rowCount = Integer.parseInt(this.tblDjKtReportCheckService.getObjectList(params, orders, 0, 0).toString());//页总数
Page page = new Page(size,num,rowCount);
List<TblDjKtReport> list = (List<TblDjKtReport>) this.tblDjKtReportCheckService.getObjectList(params, orders, page.getStartRow(), page.getSize());//分页查询的记录数
2.Param 类
/**
* 2010-11-08
* remark: 查询参数辅助类
* author: 001
*/
public class Param {
private String paramName;//参数名称
private Object paramValue;//参数值
private String operator;//连接符(如:=,like,in)
public Param() {}
public Param(String paramName,String operator,Object paramValue) {
this.paramName = paramName;
this.paramValue = paramValue;
this.operator = operator;
}
public String getOperator() {
return operator;
}
public void setOperator(String operator) {
this.operator = operator;
}
public String getParamName() {
return paramName;
}
public void setParamName(String paramName) {
this.paramName = paramName;
}
public Object getParamValue() {
return paramValue;
}
public void setParamValue(Object paramValue) {
this.paramValue = paramValue;
}
}
3.dao层实现方法
/**
* 查询分页列表通用方法(课题总局报告)
* @param params 参数集合
* @param orders 排序条件
* @param start 起始条数
* @param count 页大小
* @return List<AdminUserBean>
* @throws Exception
*/
public Object getObjectList(List<Param> params, Map orders,int start, int count) throws Exception{
Session session = null;
Query query = null;
try {
// 组合检索语句
String strSQL = null;
StringBuffer strBuff = new StringBuffer();
if(count > 0){
strBuff.append("from TblDjKtReport kt where kt.isDele='0' and kt.ktIsSubmit='1'");
}else{
strBuff.append("select count(*) from TblDjKtReport kt where kt.isDele='0' and kt.ktIsSubmit='1'");
}
if (params != null && params.size() > 0){
for (Param param : params) {
strBuff.append(" and ");
if (param.getOperator().trim().equals("in")) {
// strBuff.append(param.getParamName());
// strBuff.append(" " + param.getOperator() + " (");
// strBuff.append(param.getParamValue());
// strBuff.append(")");
}else if (param.getOperator().trim().equals("like")) {
strBuff.append(param.getParamName());
strBuff.append(" " + param.getOperator());
strBuff.append(" '%" + param.getParamValue()+"%'");
} else if (param.getOperator().trim().equals("between")){
strBuff.append(param.getParamName());
strBuff.append(" " + param.getOperator());
String date[] = param.getParamValue().toString().split(","); //2000-01-01,2000-02-02 格式化成数组
strBuff.append(" '"+date[0]+" 00:00:00'"+" and '"+date[1]+" 23:59:59'");
} else {
strBuff.append(param.getParamName());
strBuff.append(param.getOperator());
strBuff.append("'" + param.getParamValue()+"'");
}
}
}
if (orders != null && !orders.isEmpty()) {
strBuff.append(" order by ");
for (Iterator it = orders.keySet().iterator(); it.hasNext();) {
String orderName = (String) it.next();
strBuff.append(orderName);
strBuff.append(" ");
strBuff.append((String) orders.get(orderName));
strBuff.append(",");
}
strBuff.setLength(strBuff.length() - 1);
}
strSQL = new String(strBuff);
session = getHibernateTemplate().getSessionFactory().openSession();
System.out.println("第一次SQL:"+strSQL);
query = session.createQuery(strSQL);
if(count > 0){
if(start>=0){
query.setFirstResult(start);
query.setMaxResults(count);
}
return query.list();
}else{
return Integer.parseInt(query.list().get(0).toString());
}
} catch (HibernateException e){
Loggers.error("查询管理用户信息错误:TblDjKtReportDaoImpl getObjectList"+e);
throw new HibernateException(e.getMessage());
}finally{
if(session != null && session.isOpen()){
session.clear();
session.close();
}
}
}
分享到:
相关推荐
分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码分页代码...
接下来我们对给定的PHP分页代码进行详细分析: 1. **引入数据库连接文件**: ```php include("conn.php");//数据库连接 ``` 2. **定义每页显示的记录数**: ```php $page_size=10;//每页显示的记录数 ``` 3...
本示例提供的"JS+HTML分页代码"是一个利用JavaScript(JS)和超文本标记语言(HTML)实现的分页功能,主要包含了首页、前页、后页、尾页以及自定义分页页号的功能。 **HTML基础**: HTML是网页的基础,用于构建页面...
PHP内容分页,新闻内容分页代码,分页代码
以上就是ASP.NET中实现分页代码的完整过程。通过这种方式,你可以有效地管理大量数据,提供流畅的用户体验,同时优化服务器资源的使用。在实际项目中,可能还需要考虑更多细节,如错误处理、国际化支持以及用户体验...
### 纯JS长文章分页代码解析 在网页开发中,为了提高用户体验及加载速度,经常需要将过长的文章内容进行分页处理。本文基于提供的文件内容,深入解析一个用纯JavaScript实现的文章分页代码。 #### 核心概念与功能 ...
ASP通用分页代码是网页开发中的一个重要组成部分,特别是在处理大量数据需要分页显示的场景下。这个代码模块的目的是为了提高开发效率,实现代码的复用,并确保用户在浏览多页内容时能轻松导航。以下将详细介绍这个...
这篇内容将详细介绍10种经典的JS分页代码实现方法,帮助开发者理解和应用这些技术。 1. **基础HTML和CSS分页**:最简单的分页实现,通常结合HTML链接和CSS样式来创建分页条目。开发者需要计算总页数,然后创建相应...
这个"asp论坛分页数字分页代码"是一个实用的小工具,可以帮助开发者快速实现论坛内容的分页显示。 首先,我们来理解一下分页的基本概念。分页是将大量数据分割成若干小块,每次只显示一部分,用户可以通过点击页码...
本资源提供了一套非常优秀的Java分页代码,它旨在简化开发过程,使得开发者能够轻松地在应用程序中实现分页功能。 分页的基本原理是将大量的数据集分割成较小的部分,每次只加载一部分数据到内存中,用户可以逐页...
在这个“ASP.NET分页代码”的主题中,我们将深入探讨如何在ASP.NET中实现分页功能。 1. 分页的基本原理 分页主要是通过限制在页面上显示的数据量来实现的。当用户请求一个页面时,服务器只返回当前页所需的数据,而...
Java万能分页代码是Java开发中常用的工具,尤其在处理大数据量的Web应用时,分页技术能够显著提升用户体验并优化服务器性能。这个3.0版本的分页代码库通常包含了一些经过优化的分页算法和接口,适用于各种场景,如...
本教程将深入探讨ASP.NET AJAX分页的相关知识点,以及如何编写分页代码。 1. **什么是ASP.NET AJAX分页?** ASP.NET AJAX分页是一种通过使用ASP.NET AJAX库(以前称为Atlas)实现的客户端分页方法。它利用...
本文将深入探讨ASP分页代码的实现原理和应用。 首先,理解分页的基本概念。分页是将一个长列表的数据分成多个较小的部分,每个部分称为一页,用户可以逐页浏览。在ASP中,我们通常会用到数据库查询来获取数据,然后...
本主题将深入探讨如何使用HTML和CSS来实现美观且实用的分页代码。 首先,HTML(HyperText Markup Language)是网页内容的基础结构语言,它定义了页面的元素和布局。在创建分页时,我们通常会使用`<ul>`和`<li>`标签...
本文将深入探讨24款超实用的WEB分页代码,这些代码可以帮助开发者快速实现高效、美观的分页功能。 1. 分页的基本原理:分页主要是通过JavaScript、CSS和HTML三者结合来实现的。JavaScript处理数据逻辑,CSS负责样式...
### ASP数字分页代码解析与应用 #### 一、引言 在Web开发中,当数据量较大时,为了提高用户体验并减轻服务器负担,通常会采用分页技术来展示数据。ASP(Active Server Pages)是一种早期的服务器端脚本环境,可以...
在JSP中,分页代码通常结合Servlet和JSP页面共同完成。Servlet处理请求,计算总页数,以及根据请求的页码获取对应的数据,然后将这些信息传递给JSP页面进行渲染。 1. **Servlet部分**: - 计算总页数:根据数据库...
本文将深入解析标题为"最好用的分页代码(java版)"的实现,探讨如何在Java环境中实现高效且灵活的分页。 该分页代码由类`CutPage`实现,它实现了`Serializable`接口,这意味着该类的对象可以被序列化,便于在网络...
【标题】"mop猫扑网分页代码.rar"指的是一个与猫扑网分页功能相关的JavaScript代码资源,它被压缩在RAR格式的文件中。猫扑网是中国知名的网络社区,其网页设计和功能实现经常成为开发者学习和借鉴的对象。这里的...