javaWeb实现按日期的升序、降序,日期年、月、日,关键字条件进行分页查询信息

首先看前端的样式图片实现效果

其中前台代码为:

<div class="search_item">
    <span style="color: #ff4910">订单条件查询&emsp;</span>
    <span>按时间:</span>
    <div class="item">
        <input type="radio" value="Asc" name="sortByTime" > 升序
    </div>
    <div class="item">
        <input type="radio" value="Desc" name="sortByTime" checked>降序
    </div>
</div>
<div class="search_item">
    <span>日期:</span>
    <div class="item">
        <select name="year">
            <option value="0">不限</option>
            <c:forEach var="i" begin="2010" step="1" end="2020">
                <option value="${i}">${i}</option>
            </c:forEach>
        </select>年
    </div>

    <div class="item">
        <select name="month">
            <option value="0" selected>不限</option>
            <c:forEach var="i" begin="1" step="1" end="12">
                <option value="${i}">${i}</option>
            </c:forEach>
        </select>月
    </div>

    <div class="item">
        <select name="day">
            <option value="0" selected>不限</option>
            <c:forEach var="i" begin="1" step="1" end="31">
                <option value="${i}">${i}</option>
            </c:forEach>
        </select>日
    </div>

书写后台GoodsOrderSearchBytime.java代码为:

package servlet.GoodsOrder;

import javaBean.GoodsOrder;
import javaBean.Page;
import javaBean.User;
import services.GoodsOrderServices;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/GoodsOrderSearchBytime")
public class GoodsOrderSearchBytime extends HttpServlet{
    GoodsOrderServices goodsOrderServices = new GoodsOrderServices();
    public int getPageCode(HttpServletRequest request){
        // 先获取从客户端传过来的参数
        String pc = request.getParameter("pc");
        // 进行判断
        if(pc == null || pc.trim().isEmpty()){
            // 返回第一页
            return 1;
        }
        return Integer.parseInt(pc);
    }
    @Override
    public void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        User user = (User)request.getSession().getAttribute("my");
        if(user==null)
            request.getRequestDispatcher("/login.jsp").forward(request,response);
        String date = "%";
        String sortByTime = request.getParameter("sortByTime");
        String year = request.getParameter("year");
        String month = request.getParameter("month");
        String day = request.getParameter("day");
        String keyWord = request.getParameter("keyWord");
        if(!year.equals("0")){
            date = year+"-";
            System.out.println("年为:"+year);
        }
        else {
            date = date+"-";
        }
        if(!month.equals("0")){
            date = date+"%"+month+"-";
        }
        else {
            date = date+"%-";
        }
        if(!day.equals("0")){
            date = date+"%"+day+"%";
        }
        else {
            date = date+"%";
        }
        int pageCode = getPageCode(request);
        int pageSize = 2;
        if(keyWord.equals("")){
            Page<GoodsOrder> page = goodsOrderServices.findByPage
                    ( pageCode, pageSize ,user.getUid(), sortByTime, date);
            //不将page建立session
            request.setAttribute("page",page);
            // 不将page.getGoodsBeanList()建立session
            request.setAttribute("goodsOrders",page.getGoodsOrderBeanList());
            request.setAttribute("PageCode",page.getPageCode());
            request.setAttribute("PageSize",page.getPageSize());
            request.setAttribute("TotalPage",page.getTotalPage());
            request.getRequestDispatcher("/JSP/user/userInfo.jsp").forward(request,response);
        }
        else {
            Page<GoodsOrder> page = goodsOrderServices.findByPage2
                    ( pageCode, pageSize ,user.getUid(), keyWord, sortByTime);
            System.out.println("uid为:"+user.getUid());
            //不将page建立session
            request.setAttribute("page",page);
            // 不将page.getGoodsBeanList()建立session
            request.setAttribute("goodsOrders",page.getGoodsOrderBeanList());
            request.setAttribute("PageCode",page.getPageCode());
            request.setAttribute("PageSize",page.getPageSize());
            request.setAttribute("TotalPage",page.getTotalPage());
            request.getRequestDispatcher("/JSP/user/userInfo.jsp").forward(request,response);
        }
    }
}

service层代码为:

//    pageCode, pageSize ,user.getUid(),sortByTime,keyWord,date
    public Page<GoodsOrder> findByPage(int pageCode, int pageSize,
      String uid, String sortTime, String date ) {
        return goodsOrderDao.findByPage(pageCode, pageSize, uid, sortTime, date);
    }
// keyword
    public Page<GoodsOrder> findByPage2(int pageCode, int pageSize, String uid, String keyword , String sortByTime) {
        return goodsOrderDao.findByPage2(pageCode, pageSize, uid , keyword , sortByTime);
    }

后台dao层代码为:

//有日期的查找
    public Page<GoodsOrder> findByPage(int pageCode, int pageSize, String uid ,String sortTime, String date ) {
        // 创建PageBean对象
        Page<GoodsOrder> page = new Page<GoodsOrder>();
        page.setPageCode(pageCode);
        page.setPageSize(pageSize);

        // totalPage  计算不用处理
        // totalCount 总记录数
        // 通过uid就可以搜索他发布的二手商品,也就是说要
        String SQL = " select count(*)  from  " + tableName + " where otime like '" + date +"' and  uid = ?  ";
        try {
            long count;
            ResultSet rs = JDBCHelper.query( SQL , uid ) ;
            if(rs.next()) {
                count = rs.getInt(1);
                page.setTotalCount((int) count);
            }
            // beanList  数据
//      通过uid就可以搜索他发布的二手商品,也就是说要 select * from usedGoods where uid = ?  order by uid  desc limit ? , ?

            String selSql = "";
            if(sortTime.equals("Asc")){
                selSql = " select * from  " + tableName + "  where otime like '" + date +"' and uid = ?  order by  oid  Asc  limit ? , ? ";
            } else {
                selSql = " select * from  " + tableName + "  where otime like '" + date +"' and uid = ?  order by  oid  Desc  limit ? , ? ";
            }

            ResultSet goodsOrderList = JDBCHelper.query(selSql,uid, (pageCode-1)*pageSize, pageSize);
            List<GoodsOrder> goodsOrderBeanList = search(goodsOrderList);
            // 把每页显示的数据设置成功了
            page.setGoodsOrderBeanList(goodsOrderBeanList);
            // 所有的数据全部都封装成功了!!
            return page;
        } catch (SQLException e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        }
    }
//有关键字的查找
    public Page<GoodsOrder> findByPage2(int pageCode, int pageSize, String uid , String keyword , String sortByTime) {
        // 创建PageBean对象
        Page<GoodsOrder> page = new Page<GoodsOrder>();
        page.setPageCode(pageCode);
        page.setPageSize(pageSize);
        // totalPage  计算不用处理
        // totalCount 总记录数
        // 通过uid就可以搜索他发布的二手商品,也就是说要
        String SQL = " select count(*)  from  " + tableName + "  where uid = ?  and  name  like  '%" +keyword +"%' ";
        try {
            long count;
            ResultSet rs = JDBCHelper.query( SQL , uid ) ;
            if(rs.next()) {
                count = rs.getInt(1);
                page.setTotalCount((int) count);
            }
            // beanList  数据
            String selSql = "";
            if(sortByTime.equals("Asc")){
                selSql = " select * from  " + tableName + "  where uid = ?  and  name  like '%" +keyword +"%' order by  oid  Asc  limit ? , ? ";
            }
            else {
                selSql = " select * from  " + tableName + "  where uid = ?  and  name  like '%" +keyword +"%' order by  oid  Desc  limit ? , ? ";
            }
            ResultSet goodsOrderList = JDBCHelper.query(selSql,uid, (pageCode-1)*pageSize, pageSize);
            List<GoodsOrder> goodsOrderBeanList = search(goodsOrderList);
            // 把每页显示的数据设置成功了
            page.setGoodsOrderBeanList(goodsOrderBeanList);
            // 所有的数据全部都封装成功了!!
            return page;
        } catch (SQLException e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        }
    }

猜你喜欢

转载自blog.csdn.net/qq_40384579/article/details/86514382
今日推荐