mysql+servlet 分页

来源:互联网 发布:怎么从mac上卸载软件 编辑:程序博客网 时间:2024/05/18 02:29

// html代码

 <table class="_showlist" border="1" id="contenttable">

                                    <tr>
                                     <th class="th1">姓名</th>
                                     <th class="th1">电话号码</th>
                                     <th class="th1">经度</th>
                                     <th class="th1">纬度</th>
                                     <th class="th1">地址</th>
                                     <th class="th1">地理查看</th>
                                     </tr>
                                   </table>
                                   <div class="row">  
                   <div class="col-md-8"></div>  
                   <div class="col-md-4" id="pageCount" style="color:#000000;font-size:16px;line-height:40px;">首页</div>  

                                   </div>

//  jquery 代码

//获取地理位置信息分页条    
function getPageBar() {  
  //页码大于最大页数    
  if (curPage > totalPage)  
      curPage = totalPage;  
  //页码小于1    
  if (curPage < 1)  
      curPage = 1;  
  pageStr = "<span>共 " + total + " 页</span><span> " + curPage + "/"  
          + totalPage + " </span>";  


  //如果是第一页    
  if (curPage == 1) {  
      pageStr += " <span>首页</span> <span>上一页</span> ";  
  } else {  
      pageStr += "<span> <a href='javascript:getData(1)' rel='1'>首页</a></span> <span><a href='javascript:getData("+(curPage - 1)+")' rel='"  
              + (curPage - 1) + "'>上一页</a></span>";  
  }  


  //如果是最后页    
  if (curPage >= totalPage) {  
      pageStr += " <span>下一页</span> <span>尾页</span>";  
  } else {  
      pageStr += " <span><a href='javascript:getData("+((curPage) + 1)+")' rel='"  
              + (parseInt(curPage) + 1)  
              + "'>下一页</a></span> <span><a href='javascript:getData("+totalPage+")' rel='"  
              + totalPage + "'>尾页</a></span>";  
  }  


  $("#pageCount").html(pageStr); 
  
}  

//  点击按钮调用的方法

function getData(page) {  
$.ajax({
type: "post",
url: "searchByTime.action",
data: {"beginTime":afterSplitBeginTime,"endTime":afterSplitEndTime,"pageno":page},
dataType: "json",
cache: false,
async: true,
    success : function(json) {  
        $("#contenttable tr:not(:first)").empty();
        total = json.total; //总记录数    
        pageSize = json.pageSize; //每页显示条数    
        curPage = json.page; //当前页    
        totalPage = json.totalPage; //总页数    
        var list = json.list;//返回内容  
        for(var i=0;i<list.length;i++){  
       var body="<tr>";  
       body=body+"<td style='text-align:center;color:#000000;font-size:16px;line-height:30px;'>"+list[i].urealname+"</td>";  
       body=body+"<td style='text-align:center;color:#000000;font-size:16px;line-height:30px;'>"+list[i].mobile+"</td>"; 
       body=body+"<td style='text-align:center;color:#000000;font-size:16px;line-height:30px;'>"+list[i].lat+"</td>";  
       body=body+"<td style='text-align:center;color:#000000;font-size:16px;line-height:30px;'>"+list[i].lng+"</td>";  
       body=body+"<td style='text-align:center;color:#000000;font-size:16px;line-height:30px;'>"+list[i].address+"</td>";  
       body=body+"<td style='text-align:center'>"+"<input type='button' class='btn btn-info' id='look' onclick='lookLoaction("+list[i].lat+","+list[i].lng+")' value='查看'/>"+"</td>";  
       body=body+"</tr>";  
         $("#contenttable").append(body);  
        }  
    },  
    complete : function() { //生成分页条    
        getPageBar();  
    },  
    error : function() {  
        alert("数据加载失败");  
    } 
});
   
}


// servlet 代码

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {


SearchEmployeeDao searchEmployeeDao = new SearchEmployeeDao();
response.setContentType("text/json;charset=UTF-8");
PrintWriter out = response.getWriter();
String beginTime = request.getParameter("beginTime");
String endTime = request.getParameter("endTime");

Integer pageNo=Integer.parseInt(request.getParameter("pageno"));  
       //返回相关数据信息  
List<UserInfo> list = new ArrayList<UserInfo>();
   list = searchEmployeeDao.queryByTime(beginTime, endTime, pageNo);  
        //总页面数  
        Integer totalpage=searchEmployeeDao.getPageCount(beginTime,endTime);  
        //数据总记录数  
        Integer total=searchEmployeeDao.geTotalPage(beginTime,endTime);  
        
        StringBuilder builder=new StringBuilder();  
        builder.append("[");  
        for(int i=0;i<list.size();i++){  
            StringBuilder content=new StringBuilder();  
            String address=list.get(i).getAddress();  
            content.append("{ \"address\":\"").append(list.get(i).getAddress()).append("\"");  
            String lat=list.get(i).getLat();  
            content.append(",\"lat\":").append(list.get(i).getLat()).append("");  
            content.append(",\"lng\":").append(list.get(i).getLng()).append("");  
            content.append(",\"mobile\":\"").append(list.get(i).getuMobile()).append("\"");  
            content.append(",\"urealname\":\"").append(list.get(i).getuRealName()).append("\"}");  
            if(i<list.size()-1){  
                content.append(",");  
            }  
            builder.append(content.toString());  
              
        }  
        builder.append("]");  
          
        StringBuilder json=new StringBuilder();  
        json.append("{\"total\":").append(totalpage).append("");  
        json.append(",\"totalPage\":").append(totalpage).append("");  
        json.append(",\"page\":").append(pageNo).append("");  
        json.append(",\"pageSize\":").append("3").append("");  
        json.append(",\"list\":").append(builder.toString()).append("}");    
       
         out.print(json.toString());   
        
         out.flush();  
         out.close();
}

//  dao层代码

// 根据时间获得员工位置信息
public List<UserInfo> queryByTime(String beginTime,String endTime,int currentPageNo){
int BeginRecord;
ResultSet rSet = null;
BeginRecord = (currentPageNo - 1) * pagesize; // 开始位置  
String sql = "SELECT u_real_name as uRealName,lat as lat,lng as lng,umobile as uMobile,address as address FROM t_userinfo userinfo INNER JOIN t_locationinfo locationinfo ON userinfo.u_mobile=locationinfo.umobile LIMIT ?,?";
String sql2 = "SELECT u_real_name as uRealName,lat as lat,lng as lng,umobile as uMobile,address as address FROM t_userinfo userinfo INNER JOIN t_locationinfo locationinfo ON userinfo.u_mobile=locationinfo.umobile where locationinfo.update_time BETWEEN ? AND ? LIMIT ?,?";
   
if(beginTime==null){

rSet = MySQLUtil.query(sql,BeginRecord,pagesize);
}else{

rSet = MySQLUtil.query(sql2, beginTime,endTime,BeginRecord,pagesize);
}

   List<UserInfo> list = new ArrayList<UserInfo>();
   UserInfo userInfo = null;
   try {
while(rSet.next()){
userInfo = new UserInfo();
userInfo.setuRealName(rSet.getString("uRealName"));
userInfo.setuMobile(rSet.getString("uMobile"));
userInfo.setLat(rSet.getString("lat"));
userInfo.setLng(rSet.getString("lng"));
userInfo.setAddress(rSet.getString("address"));
list.add(userInfo);

}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
   return list;
}

// 分页统计  
    public static int getPageCount(String beginTime,String endTime) {  
        int total = 0; // 总记录数  
        int PageCount = 0; // 页码总数  
        ResultSet resultset = null;
        String sql = "SELECT count(*) FROM t_userinfo userinfo INNER JOIN t_locationinfo locationinfo ON userinfo.u_mobile=locationinfo.umobile";
String sql2 = "SELECT count(*) FROM t_userinfo userinfo INNER JOIN t_locationinfo locationinfo ON userinfo.u_mobile=locationinfo.umobile where locationinfo.update_time BETWEEN ? AND ?";
   
if(beginTime==null){

resultset = MySQLUtil.query(sql);
}else{

resultset = MySQLUtil.query(sql2, beginTime,endTime);
}
        try {  
            if (resultset.next()) {  
                total = resultset.getInt(1);  
                PageCount = (total - 1) / pagesize + 1; 
               
            }  
        } catch (SQLException e) {  
            e.printStackTrace();  
        }  
        return PageCount;  
    }  
      
    public static int geTotalPage(String beginTime,String endTime) {  
        int total = 0; // 总记录数        
        ResultSet resultset = null;
        String sql = "SELECT count(*) FROM t_userinfo userinfo INNER JOIN t_locationinfo locationinfo ON userinfo.u_mobile=locationinfo.umobile";
String sql2 = "SELECT count(*) FROM t_userinfo userinfo INNER JOIN t_locationinfo locationinfo ON userinfo.u_mobile=locationinfo.umobile where locationinfo.update_time BETWEEN ? AND ?";
        if(beginTime==null){

resultset = MySQLUtil.query(sql);
}else{

resultset = MySQLUtil.query(sql2, beginTime,endTime);
}
        try {  
            if (resultset.next()) {  
                total = resultset.getInt(1);                  
            }  
        } catch (SQLException e) {  
            e.printStackTrace();  
        }  
        return total;  
    } 



0 0
原创粉丝点击