当前位置: 首页 > article >正文

简单的多条件分页查询

/**dao接口*/
package dao;import java.util.ArrayList;
import java.util.List;import com.trs.client.TRSConnection;
import com.trs.client.TRSException;
import com.trs.client.TRSResultSet;import entity.Demo1;
import entity.Demo2;public interface PageBase {public long getPages(String dbName,boolean flag,Demo2 demo2);public List<Demo2> fenye(String dbName,Demo2 demo2,boolean flag,Long page);
}
/**
*dao的实现类*
**/
package daoImpl;import java.util.ArrayList;
import java.util.List;import org.apache.commons.lang.xwork.StringUtils;import com.trs.client.TRSConnection;
import com.trs.client.TRSException;
import com.trs.client.TRSResultSet;import dao.PageBase;
import entity.Demo2;public class PageDaoImpl implements PageBase{static TRSConnection connection=null;static TRSResultSet resultSet=new TRSResultSet();public static void openCon(){try {connection = new TRSConnection();connection.connect("localhost", "8888", "pub", "");} catch (TRSException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void closeCon(){if(resultSet!=null){resultSet.close();}if(connection!=null){connection.close();connection=null;}}public String getWhere(Demo2 demo){String where="";System.out.println("pblishname"+demo.getPublishName());if(!StringUtils.isEmpty(demo.getPublishName())){where+="版名 ="+demo.getPublishName();}if(!StringUtils.isEmpty(demo.getAuthor())){if(where.length()>2){where+=" and 作者="+demo.getAuthor();}else{where+="作者="+demo.getAuthor();}}if(!StringUtils.isEmpty(demo.getAuthor())){if(where.length()>2){where+=" and 版次="+demo.getPublishId();}else{where+="版次="+demo.getPublishId();}}if(!StringUtils.isEmpty(demo.getTitle())){if(where.length()>2){where+=" and 标题  'like %"+demo.getTitle()+"%'";}else{where+="标题  'like %"+demo.getTitle()+"%'";}}System.out.println("where2;"+where);return where;}public long getPages(String dbName,boolean flag,Demo2 demo2){openCon();long count = 0;try {System.out.println("dbName:"+dbName+",where:"+getWhere(demo2)+",flag:"+flag);resultSet=connection.executeSelect(dbName, getWhere(demo2), flag);count = resultSet.getRecordCount();} catch (TRSException e) {e.printStackTrace();}finally {closeCon();}if(count%20==0){return count/20;}return count/20+1;}public List<Demo2> fenye(String dbName,Demo2 demo2,boolean flag,Long page){openCon();List<Demo2> demoList=new ArrayList<Demo2>();try{resultSet=connection.executeSelect(dbName, getWhere(demo2), flag);long len=resultSet.getRecordCount();System.out.println("len:"+len);connection.executeSelect(dbName, getWhere(demo2), flag);for(long i=(page-1)*20;i<(page*20)&&i<len;i++){Demo2 demo=new Demo2();resultSet.moveTo(0,i);demo.setAuthor(resultSet.getString("作者"));demo.setDate(resultSet.getString("日期"));demo.setPublishId(resultSet.getInt("版次"));demo.setPublishName(resultSet.getString("版名"));demo.setTitle(resultSet.getString("标题"));demoList.add(demo);}} catch (TRSException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {closeCon();}return demoList;}public static void main(String[] args) {openCon();System.getProperty("java.version"); //判断JDK版本  System.getProperty("sun.arch.data.model"); //判断是32位还是64位  }
}
/**biz,bizImpl略*/
/**查询的实体类*/
package entity;public class Demo2 {private int recordId;private String date;private int publishId;private String publishName;private String title;private String author;/*** @return the recordId*/public int getRecordId() {return recordId;}/*** @param recordId the recordId to set*/public void setRecordId(int recordId) {this.recordId = recordId;}/*** @return the date*/public String getDate() {return date;}/*** @param date the date to set*/public void setDate(String date) {this.date = date;}/*** @return the publishId*/public int getPublishId() {return publishId;}/*** @param publishId the publishId to set*/public void setPublishId(int publishId) {this.publishId = publishId;}/*** @return the publishName*/public String getPublishName() {return publishName;}/*** @param publishName the publishName to set*/public void setPublishName(String publishName) {this.publishName = publishName;}/*** @return the title*/public String getTitle() {return title;}/*** @param title the title to set*/public void setTitle(String title) {this.title = title;}/*** @return the author*/public String getAuthor() {return author;}/*** @param author the author to set*/public void setAuthor(String author) {this.author = author;}}
/**封装的实体类*/
package entity;import java.util.List;public class Page {private Long page;private Long nextPage;private Long backPage;private Long pageCount;private List<Demo2> demoList;/*** @return the page*/public Long getPage() {return page;}/*** @param page the page to set*/public void setPage(Long page) {this.page = page;}/*** @return the nextPage*/public Long getNextPage() {return nextPage;}/*** @param nextPage the nextPage to set*/public void setNextPage(Long nextPage) {this.nextPage = nextPage;}/*** @return the backPage*/public Long getBackPage() {return backPage;}/*** @param backPage the backPage to set*/public void setBackPage(Long backPage) {this.backPage = backPage;}/*** @return the pageCount*/public Long getPageCount() {return pageCount;}/*** @param pageCount the pageCount to set*/public void setPageCount(Long pageCount) {this.pageCount = pageCount;}/*** @return the demoList*/public List<Demo2> getDemoList() {return demoList;}/*** @param demoList the demoList to set*/public void setDemoList(List<Demo2> demoList) {this.demoList = demoList;}}
/**action层*/
package action;import java.util.List;import com.opensymphony.xwork2.ActionSupport;import biz.PageBiz;
import entity.Demo2;
import entity.Page;public class FenyeAction extends ActionSupport{private PageBiz pageBiz;private Page pageL=new Page();private Demo2 demo2=new Demo2();Long i=(long) 1;public String fenye() {if(pageL.getPage()==null){pageL.setPage(i);}pageL.setBackPage(pageL.getPage()-1);pageL.setNextPage(pageL.getPage()+1);pageL.setPageCount(pageBiz.getPages("Demo2", false, demo2));if(pageL.getBackPage()<1){pageL.setBackPage(i);}if(pageL.getNextPage()>pageL.getPageCount()){pageL.setNextPage(pageL.getPageCount());}pageL.setDemoList(pageBiz.fenye("Demo2", demo2, false, pageL.getPage()));return "fenye";}/*** @return the pageBiz*/public PageBiz getPageBiz() {return pageBiz;}/*** @param pageBiz the pageBiz to set*/public void setPageBiz(PageBiz pageBiz) {this.pageBiz = pageBiz;}/*** @return the pageL*/public Page getPageL() {return pageL;}/*** @param pageL the pageL to set*/public void setPageL(Page pageL) {this.pageL = pageL;}/*** @return the demo2*/public Demo2 getDemo2() {return demo2;}/*** @param demo2 the demo2 to set*/public void setDemo2(Demo2 demo2) {this.demo2 = demo2;}}
/**applicationContext.xml文件中*/
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd"><!-- 庄庆瑜 --><bean id="pageDao" class="daoImpl.PageDaoImpl"></bean><!-- 配置BIZ --><!-- 庄庆瑜 --><bean id="pageBiz" class="bizImpl.PageBizImpl"><property name="pageDao" ref="pageDao"></property></bean><!-- 配置Action --><!-- 庄庆瑜  --><bean id="fenyeAction" class="action.FenyeAction" scope="prototype"><property name="pageBiz" ref="pageBiz"></property></bean></beans>
/**struts.xml文件中*/
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts><package name="default" namespace="/" extends="struts-default"><!-- 庄庆瑜 --><action name="*Action" class="action.FenyeAction" method="{1}"><result name="fenye">fenye.jsp</result></action></package>
</struts>    
/**JSP页面*/
/**fp.jsp*/
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="fenyeAction.action">点击</a></body>
</html>
/**fenye.jsp未修改版,例如name应改为name=${demo2.recordId}*/
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--  <%@ taglib prefix="c" uri="" %> --%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<script type="text/javascript">function changePage(page){document.getElementById("page").value=page;myForm.submit();}
</script>
<script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>
<body>
<form name="myForm" id="myForm" action="fenyeAction.action"><!-- 隐藏域,当前页码 --><input type="hidden" id="pageL.page" name="pageL.page" value="${pageL.page }"><input type="hidden" id="pageL.pageCount" name="pageL.pageCount" value="${pageL.pageCount }"><div><div class="page-bar">共${pageL.pageCount }条记录&nbsp;&nbsp;&nbsp;${pageL.page }/${pageL.pageCount }页&nbsp;&nbsp;<a href="javascript:changePage(1)">首页</a>&nbsp;&nbsp;<a href="javascript:changePage(${pageL.backPage })">上一页</a>&nbsp;&nbsp;<a href="javascript:changePage(${pageL.nextPage })">下一页</a>&nbsp;&nbsp;<a href="javascript:changePage(${pageL.pageCount })">尾页</a></div><!-- 包都没有导 --></div><div id="content" name="content">输入记录号:<input type="text" name="recordId" id="recordId">&nbsp;&nbsp;输入分类号:<input type="text" name="sortId" id="sortId">&nbsp;&nbsp;输入公告号:<input type="text" name="publishId" id="publishId">&nbsp;&nbsp;输入公告名:<input type="text" name="publishName" id="publishName">&nbsp;&nbsp;输入作者:&nbsp;&nbsp;<input type="text" name="author"><table id="myTab" name="myTab"><tr><td>记录号</td><td>公告日</td><td>公告号</td><td>作者</td><td>标题</td></tr><c:forEach var="demo" items="${pageL.demoList }"><tr><td>${demo.recordId }</td><td>${demo.date }</td>  <td>${demo.publishId }</td>  <td>${demo.author }</td>  <td>${demo.title }</td>  </tr></c:forEach></table></div>
</form></body>
</html>
http://www.lryc.cn/news/2416133.html

相关文章:

  • springboot(16)Spring Boot使用单元测试
  • Exchange2010安装配置
  • 以太坊地址和公钥_秘密!以太坊安全之 EVM 与短地址攻击
  • 一个ActiveSync无法连接的解决方法
  • notifyDataSetChanged() 和 notifyDataSetInvalidated()
  • asp、php、asp.net、jsp介绍及优缺点比较
  • spss——主成分分析详解
  • 排查IOException Broken pipe 错误
  • Windows窗口下的命令
  • 程言序语之“朱古力”
  • Linux【shell命令以及运行原理】【权限】
  • 无密码卸载诺顿杀毒软件的方法
  • JS高级—call(),apply(),bind()
  • 网页中如何显示版权符号
  • Msn机器人要屏蔽安装msnshell插件的系统消息的方法
  • adobe flash player debug 官方 下载 地址
  • Java中的Socket的用法(普通Socket,NioSocket)
  • Input框属性输入汉字,数字的控制技巧
  • 剖析VB6.0如何连接数据库?
  • 光立方原理图理解
  • 剖析虚幻渲染体系(14)- 延展篇:现代渲染引擎演变史Part 1(萌芽期)
  • Google搜索的工作原理分析【图解】
  • android+rom+bootloader+flash,Android ROM开发(4) bootloader 三种启动模式
  • 不要再被骗了------QQ盗号原理大揭秘
  • 8086 CPU 寄存器
  • English interview。。。
  • 探索云端创新:CF-Worker-Dir - 一分钟搭建个性化导航页
  • 【网络奇遇记】因特网基础概览
  • 【你也能从零基础学会网站开发】 Win10系统下如何完美安装SQL Server 2000+解决SysWOW64权限限制方案!
  • dos命令特殊符号