`
yzz9i
  • 浏览: 221125 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

网页前端多条件搜索 后台分页方法代码

阅读更多



      多条件查询分页方法:
       public Map fenye(Map paramMap) {
// 第几页
Integer page = (Integer) paramMap.get("page");
Integer size = (Integer) paramMap.get("size");

// 取值
int empId = -1; // 员工编号
String empIdString = (String) paramMap.get("empId");
if (empIdString != null && empIdString.length()>0)
empId = Integer.parseInt(empIdString);

// 名称
String empName = (String) paramMap.get("empName");

// 性别
int empSex = -1;
String empSexString = (String) paramMap.get("empSex");
if (empSexString != null && empSexString.length()>0)
empSex = Integer.parseInt(empSexString);

// 部门
int depId = -1;
String depIdString = (String) paramMap.get("depId");
if (depIdString!=null && depIdString.length()>0)
  depId = Integer.parseInt(depIdString);

// 时间
String startAgeString = (String) paramMap.get("startAge");
String endAgeString = (String) paramMap.get("endAge");
Date startAge = null;
Date endAge = null;
if (startAgeString != null && startAgeString.length()>0) {
startAge = java.sql.Date.valueOf(startAgeString);
}
if (endAgeString != null && endAgeString.length()>0) {
            endAge   = java.sql.Date.valueOf(endAgeString);
}
//拼hql语句
String hqlCount = "select count(*) from Emp where 1=1 ";
String hql = "from Emp where 1=1 ";

List values = new ArrayList();
if (empId!=-1)
{
hql = hql + " and empId=?";
hqlCount = hqlCount +" and empId=?";
values.add(empId);
}
if (empName!=null && empName.length()>0 ){
hql = hql + " and empName like ?";
hqlCount = hqlCount +" and empName like ?";
values.add(empName+"%");
}

if (empSex!=-1)
{
hql = hql + " and empSex=?";
hqlCount = hqlCount +" and empSex=?";
values.add(empSex);
}

if (depId!=-1)
{
hql = hql + " and dep.depId=?";
hqlCount = hqlCount +" and dep.depId=?";
values.add(depId);
}

if (startAge!=null && endAge!=null){
hql = hql + " and empBirthday between ? and ?";
hqlCount = hqlCount +" and empBirthday between ? and ?";
values.add(startAge);
values.add(endAge);
}
else if (startAge!=null && endAge==null){
hql = hql + " and empBirthday >= ?";
hqlCount = hqlCount +" and empBirthday >=?";
values.add(startAge);
}
else if (startAge==null && endAge!=null){
hql = hql + " and empBirthday <= ?";
hqlCount = hqlCount +" and empBirthday <=?";
values.add(endAge);
}




//设?号
Query query = getSession().createQuery(hql);
Query queryCount = getSession().createQuery(hqlCount);
if (values.size()>0){
for (int i=0;i<values.size();i++){
queryCount.setParameter(i, values.get(i));
query.setParameter(i, values.get(i));
}
}
// 总条数
Object countObject =queryCount.uniqueResult();
int sum = Integer.parseInt(countObject.toString());
// 总页数
int count = sum % size == 0 ? sum / size : sum / size + 1;
// 越界检查
if (page < 1)
page = 1;
if (page > count)
page = count;
// 查


query.setFirstResult((page - 1) * size).setMaxResults(size);
List list = query.list();

// 保存到map
Map resultMap = new HashMap(0);
resultMap.put("list", list);// 内容
resultMap.put("page", page);// 当前页数
resultMap.put("size", size);// 大小
resultMap.put("count", count);// 总页数
resultMap.put("sum", sum);// 总条数

return resultMap;
}


分享到:
评论

相关推荐

    ssm按条件实现后台分页

    本篇将详细讲解如何在SSM环境下,根据条件实现后台分页,并结合MySQL数据库进行实践。 首先,我们需要了解SSM框架的基本构成。Spring作为核心容器,负责管理Bean;SpringMVC处理HTTP请求与响应,提供Web应用的结构...

    后台分页

    后台分页是当用户在浏览网页或者使用应用时,服务器仅加载并返回用户当前需要看到的数据部分,而不是一次性加载所有数据。这样做可以显著减少网络传输的数据量,加快页面加载速度,并减少服务器资源的消耗。后台分页...

    springmvc+mybatis+easyUI分页后台代码

    本项目是基于SpringMVC、MyBatis和EasyUI这三大框架实现的后台分页功能,旨在提供一个高效、易用的解决方案。下面将详细介绍这三个技术以及它们如何协同工作来实现前端页面的分页。 首先,SpringMVC是Spring框架的...

    page分页jsp页面以及后台代码

    "page分页jsp页面以及后台代码"这个主题涵盖的是如何在Java Web环境中实现前端(jsp)和后端(通常为Servlet或Controller)的分页功能。以下将详细介绍这一过程。 首先,我们需要理解分页的基本概念。分页通常包括...

    强悍的aspnetpage 分页后台代码

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要讲述的是 ASP.NET 中一种实现分页功能的方法。在 ASP.NET 开发中,分页是常见需求之一,尤其在处理大量数据时,合理的分页能有效提升用户体验和...

    Flex +BlazeDS+java后台分页的实现

    Flex + BlazeDS + Java 后台分页的实现是一个关键的技术环节,特别是在开发大型Web应用程序时,为了提高用户体验和系统性能,数据通常需要通过分页的方式进行加载。本方案主要探讨了如何在Flex前端和BlazeDS中间件与...

    网页分页代码

    在Java后台开发中,分页通常涉及到数据库查询、数据处理和前端页面展示等多个环节。以下将详细介绍Java后台实现网页分页的相关知识点。 一、数据库查询 1. SQL分页查询:在MySQL中,可以使用LIMIT和OFFSET来实现...

    jquery分页,加java后台代码

    在IT行业中,分页是一种常见的数据展示技术,特别是在网页应用中,用于管理大量数据的显示。本主题将深入探讨如何使用jQuery与Java后端代码实现高效、动态的分页功能。 首先,jQuery是一个轻量级的JavaScript库,它...

    ssh分页经典代码

    1. **复杂性**:SSH框架本身就已经包含了多个组件,再添加分页逻辑可能会使代码变得复杂,尤其是对于新手开发者来说,理解并调试分页代码可能需要花费更多时间。 2. **性能问题**:虽然分页可以提高用户体验,但频繁...

    php ajax 分页源代码

    分页是Web应用中常见的数据展示方式,特别是在数据量庞大的情况下,它将大量信息划分为多个小块,每次只显示一部分,用户可以通过点击页码或导航按钮来浏览不同页面。PHP和AJAX结合实现的分页,可以在用户滚动页面...

    纯JS前端实现分页代码

    在前端开发中,分页是一种常见的功能,用于处理大量数据的显示,避免一次性加载过多内容导致页面卡顿或用户浏览不便。在这个场景中,我们讨论的是如何使用纯JavaScript实现前端分页,不依赖任何第三方库或插件。下面...

    jsp servlet javaBean后台分页实例代码解析.docx

    ### JSP、Servlet与JavaBean在后台分页中的应用 #### 概述 本文将详细介绍JSP、Servlet和JavaBean技术在实现Web应用程序后台分页功能中的应用。通过一个具体的实例,我们将逐步分析如何设计并实现一个高效且可扩展...

    hibernate+struts后台分页

    总的来说,"Hibernate+Struts后台分页"涉及到了Java Web开发中的多个层次,包括前端请求处理、后台业务逻辑、数据持久化以及性能优化。理解和熟练掌握这些技术对于构建高性能、高可用性的Web应用至关重要。

    servlet,实现方法 后台分页

    对于后台分页,我们通常在这些方法中编写代码。 二、分页实现步骤 1. **获取请求参数**:在`doGet`或`doPost`方法中,通过`HttpServletRequest`对象的`getParameter`方法获取请求中的分页参数,例如`pageNo`和`...

    前端ajax分页

    在网页开发中,前端分页是一种常见的用户交互设计,它允许用户在不刷新整个页面的情况下加载更多数据。这种技术显著提升了用户体验,特别是在处理大量数据时,如产品列表、文章列表等。"前端Ajax分页"就是这样的一个...

    通用java分页后端服务代码

    在Java开发中,分页是常见的功能,尤其在构建后台服务时,为了处理大量数据并提高用户体验,分页显得尤为重要。本资源提供了通用的Java分页后端服务代码,可以帮助开发者快速实现数据的分页查询功能。以下是相关知识...

    jquery ajax 分页 前端

    **jQuery AJAX 分页技术在前端应用详解** 在Web开发中,分页是一种常见的用户界面功能,用于处理大量数据的展示,提高页面加载速度并优化用户体验。本篇文章将深入探讨如何利用jQuery和AJAX技术实现纯前端的分页...

    jqgrid分页代码

    根据提供的信息,我们可以了解到这是一段关于使用 Java 和 JqGrid 实现分页功能的后台代码。接下来,我们将深入分析这段代码所涉及的关键知识点,并详细解释这些知识点。 ### 关键知识点 #### 1. JqGrid简介 ...

    layUI实现前端分页和后端分页

    在网页开发中,分页是常见的功能之一,用于处理大量数据的展示,提高用户体验。layUI是一个优秀的前端组件库,提供了丰富的UI元素和便捷的API,包括前端分页和后端分页的实现。本篇将详细介绍如何使用layUI来实现这...

Global site tag (gtag.js) - Google Analytics