JSP:

<html>
  <head>
    <title>My JSP 'inOutKuPage.jsp' starting page</title>
 <style type="text/css">
        table{
          border-color: blue;
        }
        .a{
         background-color: blue;
         text-align: center;
        }
    </style>
 <script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-1.10.2.js"></script>
 <script type="text/javascript">
       $(function(){
        $("#query").click(function(){
           var url='<%=request.getContextPath()%>/inOutPage.do';
           $.post(url,
               {
                  inoutno:$("#no").val(),
                  people:$("#people").val()
               },
               function(data){
                 $("tr[id^='order']").remove();
                 $("#prePage").val(data.prePage);
     $("#nextPage").val(data.nextPage);
     $("#total").html(data.totalRecords);
                 $.each(data.records,function(i,d){
                    var rows="<tr id='order'"+i+">";
                    rows+="<td>"+d.inoutno+"</td>";
                    rows+="<td>"+d.username+"</td>";
                    rows+="<td>"+d.people+"</td>";
                    rows+="<td>"+d.inout+"</td>";
                    rows+="<td>"+d.ctime+"</td>";
                    rows+="</tr>";
                    $("#show").append(rows);
                 });
               },
               "json");
        });
        $("#pre").click(function(){
           var url='<%=request.getContextPath()%>/inOutPage.do';
           $.post(url,
                {
                 inoutno:$("#no").val(),
                 people:$("#people").val(),
                 pageNo:$("#prePage").val(),
                },
                function(data){
                $("tr[id^='order']").remove();
     $("#prePage").val(data.prePage);
     $("#nextPage").val(data.nextPage);
     $("#total").html(data.totalRecords);
     $.each(data.records,function(i,d){
      var rows="<tr id='order'"+i+">";
        rows+="<td>"+d.inoutno+"</td>";
                    rows+="<td>"+d.username+"</td>";
                    rows+="<td>"+d.people+"</td>";
                    rows+="<td>"+d.inout+"</td>";
                    rows+="<td>"+d.ctime+"</td>";
                    rows+="</tr>";
                    $("#show").append(rows);
     });
                },
           "json");
        });
        $("#next").click(function(){
              var url='<%=request.getContextPath()%>/inOutPage.do';
               $.post(url,
                {
                 inoutno:$("#no").val(),
                 people:$("#people").val(),
                 pageNo:$("#nextPage").val(),
                },
                  function(data){
                $("tr[id^='order']").remove();
     $("#prePage").val(data.prePage);
     $("#nextPage").val(data.nextPage);
     $("#total").html(data.totalRecords);
     $.each(data.records,function(i,d){
      var rows="<tr id='order'"+i+">";
        rows+="<td>"+d.inoutno+"</td>";
                    rows+="<td>"+d.username+"</td>";
                    rows+="<td>"+d.people+"</td>";
                    rows+="<td>"+d.inout+"</td>";
                    rows+="<td>"+d.ctime+"</td>";
                    rows+="</tr>";
                    $("#show").append(rows);
     });
                },
                "json");
        });
      });
 </script>
  </head>
 
  <body>
        <table border="1px">
        <tr>
           <input type="hidden" id="prePage">
     <input type="hidden" id="nextPage">
           <td class="a">入出库单编号</td>
           <td><input type="text" name="no" id="no"></td>
           <td class="a">入/出库</td>
           <td><input type="radio" name="a" value="入库" id="a">入库
               <input type="radio" name="a" value="出库" id="a">出库
           </td>
        </tr>
        <tr>
           <td class="a">经办人</td>
           <td><input type="text" name="people" id="people"></td>
           <td class="a">日期</td>
           <td><input type="text" name="date" id="date"></td>
        </tr>
        <tr>
           <td colspan="4" align="center"><input type="button" value="查询" id="query">
           <input type="submit" value="清空">
           <input type="button" id="pre" value="上一页">
     <input type="button" id="next" value="下一页">
     <span id="total"></span></td>
        </tr>
     </table>
     <table border="1px" id="show">
         <tr>
           <td>入出库单编号</td>
           <td>客户名称</td>
           <td>经办人</td>
           <td>入/出库</td>
           <td>操作时间</td>
           <td>操作</td>
         </tr>
                  </table>
  </body>
</html>

DAO:

public class InOutPageDao extends BaseDao {
 public List<InOut> findCusinfosByPageNo(InOut condition,PageUtitily<InOut> page) {
  List<InOut> list =new ArrayList<InOut>();
  String select="select * from inout where 1=1";
  StringBuilder sb = new StringBuilder(select);
  List<Object> params = new ArrayList<Object>();
  if(condition!=null){
   if(condition.getInoutno()!=null&& !"".equals(condition.getInoutno())){
   sb.append(" AND INOUTNO LIKE ?");
   params.add("%"+condition.getInoutno()+"%");
  }
      if(condition.getPeople()!=null &&!"".equals(condition.getPeople())){
       sb.append(" AND PEOPLE LIKE ?");
       params.add("%"+condition.getPeople()+"%");
  }
  }
  params.add(page.getStartRecord());
  params.add(page.getEndRecord());
  ResultSet rs = this.executeQueryForPage(sb.toString(), params);
  try {
   while(rs.next()){
     InOut cus=new InOut();
     cus.setInoutno(rs.getString("INOUTNO"));
     cus.setUsername(rs.getString("USERNAME"));
     cus.setPeople(rs.getString("PEOPLE"));
     cus.setInout(rs.getString("INOUT"));
     cus.setCtime(rs.getString("CTIME"));
    list.add(cus);
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }finally{
   this.closeAll();
  }
  return list;
 }
 public int findCusinfosCount(InOut condition) {
  String select ="SELECT * FROM INOUT C where 1=1";
  StringBuilder sb = new StringBuilder(select);
  List<Object> params = new ArrayList<Object>();
  if(condition!=null){
   if(condition.getInoutno()!=null&& !"".equals(condition.getInoutno())){
   sb.append(" AND INOUTNO LIKE ?");
   params.add("%"+condition.getInoutno()+"%");
  }
      if(condition.getPeople()!=null &&!"".equals(condition.getPeople())){
       sb.append(" AND PEOPLE LIKE ?");
       params.add("%"+condition.getPeople()+"%");
  }
  }
  return this.executeQueryForTatalCount(sb.toString(), params);
  
 }
}

实体类:

public class PageUtitily<T> {
  private List<T> records;
  private int curPage=1;//当前页码
  private int totalRecords;//符合条件的总记录数
  private int totalPages;//总页码数
  private int pageSize=3;//页面大小
  private int nextPage;//下一页
  private int prePage;//上一页
 
  private int startRecord;
  private int endRecord;
 
  public List<T> getRecords() {
  return records;
 }

public void setRecords(List<T> records) {
  this.records = records;
 }

public int getPageSize() {
  return pageSize;
 }

public void setPageSize(int pageSize) {
  this.pageSize = pageSize;
 }

public int getCurPage() {
  return curPage;
 }

public int getNextPage() {
  return nextPage;
 }

public int getPrePage() {
  return prePage;
 }

public int getStartRecord() {
  return startRecord;
 }

public int getEndRecord() {
  return endRecord;
 }
 
 public PageUtitily(int pageNo){
  this.curPage=pageNo;
  this.startRecord=(this.curPage-1)*pageSize+1;
  this.endRecord=this.curPage*pageSize;
  this.prePage=this.curPage-1;
  if(this.prePage<=0){
   this.prePage=1;
  }
 }
 
 public void setTotalRecords(int totalRecords) {
  this.totalRecords = totalRecords;
  //计算总页码
  this.totalPages=this.totalRecords%pageSize==0?this.totalRecords/this.pageSize:this.totalRecords/this.pageSize+1;
  
  //计算下一页
  this.nextPage=this.curPage+1;
  if(this.nextPage>totalPages){
   this.nextPage=totalPages;
  }
 }
}

SERVICE:

public class InOutPageService {
 InOutPageDao iod=new InOutPageDao();
 public PageUtitily<InOut> findCusOrderByPage(InOut condition,int pageNo) {
  PageUtitily<InOut> pageObj = new PageUtitily<InOut>(pageNo);
  pageObj.setTotalRecords(iod.findCusinfosCount(condition));
  
  List<InOut> list = iod.findCusinfosByPageNo(condition, pageObj);
  pageObj.setRecords(list);
  return pageObj;
 }

}

SERVLET:

public class InOutPageServlet extends HttpServlet {
    InOutPageService iops=new InOutPageService();
 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  doPost(req, resp);
 }

@Override
 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  req.setCharacterEncoding("utf-8");
   String inoutno=req.getParameter("inoutno");
    String inout=req.getParameter("a");
    String people=req.getParameter("people");
    String ctime=req.getParameter("date");
   
          String curPage=req.getParameter("pageNo");
          if(curPage==null||"".equals(curPage)){
           curPage="1";
          }
    InOut io=new InOut(inoutno, people, inout, ctime);
    PageUtitily<InOut> page=iops.findCusOrderByPage(io, Integer.valueOf(curPage));
    JSONObject array=JSONObject.fromObject(page);
    resp.setContentType("text/html;charset=utf-8");
    PrintWriter out=resp.getWriter();
    out.print(array.toString());
    out.close();
 }
}

POS管理系统之出入库单分页查询的更多相关文章

  1. .net通用CMS快速开发框架——问题1:Dapper通用的多表联合分页查询怎么破?

    最近在弄一个东东,类似那种CMS的后台管理系统,方便作为其它项目的初始化框架用的. 现在遇到个问题,如标题所示:Dapper通用的多表联合分页查询怎么破? 难道只能通过拼接sql或者使用存储过程吗?我 ...

  2. 阿里云对象存储服务,OSS使用经验总结,图片存储,分页查询

    阿里云OSS-使用经验总结,存储,账号-权限,分页,缩略图,账号切换 最近项目中,需要使用云存储,最后选择了阿里云-对象存储服务OSS.总的来说,比较简单,但是仍然遇到了几个问题,需要总结下. 1.O ...

  3. 小书MybatisPlus第4篇-表格分页与下拉分页查询

    本文为mybatis系列文档的第4篇,前三篇请访问下面的网址. 小书MybatisPlus第1篇-整合SpringBoot快速开始增删改查 小书MybatisPlus第2篇-条件构造器的应用及总结 小 ...

  4. JdbcTemplate+PageImpl实现多表分页查询

    一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...

  5. 用Hibernate和Struts2+jsp实现分页查询、修改删除

    1.首先用get的方法传递一个页数过去 2.通过Struts2跳转到Action 3.通过request接受主页面index传过的页数,此时页数是1, 然后调用service层的方法获取DAO层分页查 ...

  6. MySQL、Oracle和SQL Server的分页查询语句

    假设当前是第PageNo页,每页有PageSize条记录,现在分别用Mysql.Oracle和SQL Server分页查询student表. 1.Mysql的分页查询: SELECT * FROM s ...

  7. 分页查询和分页缓存查询,List<Map<String, Object>>遍历和Map遍历

    分页查询 String sql = "返回所有符合条件记录的待分页SQL语句"; int start = (page - 1) * limit + 1; int end = pag ...

  8. mysql 分页查询

    mysql,; : mysql,; -last. //如果只给定一个参数,它表示返回最大的记录行数目: mysql; 个记录行 ,n. 动态传参的分页查询 SELECT * FROM table LI ...

  9. MongoDB 分页查询的方法及性能

    最近有点忙,本来有好多东西可以总结,Redis系列其实还应该有四.五.六...不过<Redis in Action>还没读完,等读完再来总结,不然太水,对不起读者. 自从上次Redis之后 ...

随机推荐

  1. 我的第一个GitHub仓库

    GitHub 仓库地址 https://github.com/FBean/test.git GitHub 常用命令 add--Add file contents to the index bisect ...

  2. js/css在html文档中的引用外部文件方式对比

    包含css样式表和js脚本的最好方式是使用外部文件,因为css/js和html标记文档可以清晰地分离. css的外部引用写在<head></head>中: <head&g ...

  3. Sublime Text 添加eclipse快捷键

    [ // editor配置 { "keys": ["ctrl+v"], "command": "paste_and_indent& ...

  4. 副本限制修改-M端

    魔兽的副本很多,也有很多副本都有进入的限制,比方说最普遍的,有些副本有级别限制,没达到要求的级别是不能进入对应副本的还有些副本是有任务需求限制,比方说黑翼副本,需要做完一个任务之后才可以进入副本当然, ...

  5. eclipse android sdk content loader一直显示0%的问题解决

    今天上班启动eclipse,发现eclipse 一直卡在android sdk content loader的地方,一直显示为0%.百度后发现很多都是一下解决方法:  关闭Eclipse,删掉Ecli ...

  6. php自学提升进阶路线

    为了自己对php的系统全面深入的掌握,我通过个人经验,以及搜索网上高手经验,汇总了一份php自我学习路线规划,包括实战演练.学习建议.高手进阶.常见问题和测试总结五块.算是一个系统的学习计划和目标吧. ...

  7. Spring中javaMail通过SMTP发送邮件

    public final class Emails { /** The java mail sender. */ private static JavaMailSender javaMailSende ...

  8. Temporary-Post-Used-For-Style-Detection-Title-16761156

    Temporary-Post-Used-For-Style-Detection-Content-16761156 =-=-=-=-=Powered by Blogilo

  9. css之position相对定位和绝对定位

    一.position的四个值:static.relative.absolute.fixed. 绝对定位:absolute和fixed统称为绝对定位 相对定位:relative 默认值:static 二 ...

  10. [经验交流] docker in docker 的变通实现方法

    最近在做CI持续集成环境的容器化,其中一个工作是:在容器中构建容器镜像. 对于这个需求,网上有一些 Docker in Docker 的方法,具体需要修改宿主机的配置.这种方式在单机环境下.对安全要求 ...