java pager类_Java中Pager转换成Json格式

该博客展示了如何使用Servlet和DAO实现动态新闻的分页查询。动态NewsServlet类继承了HttpServlet,通过调用DynamicNewsDaoImpl中的queryPage方法获取分页数据。查询过程中涉及对日期的格式化处理,以及数据的封装到Pager对象中,最后将结果转化为JSON格式返回给前端。
摘要由CSDN通过智能技术生成

Servlet.java类:

package com.axjy.web;

import java.io.IOException;

import java.sql.SQLException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.axjy.dao.impl.DynamicNewsDaoImpl;

import com.axjy.util.Pager;

import com.google.gson.Gson;

public class DynamicNewsServlet extends HttpServlet {

private static final DynamicNewsDaoImpl

DynamicNewsDaoImpl = null;

public DynamicNewsDaoImpl dy;

public DynamicNewsServlet() {

try {

dy=new

DynamicNewsDaoImpl();

} catch (SQLException e)

{

e.printStackTrace();

} }

public void destroy() {

super.destroy();

}

public void doGet(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException

{

this.doPost(request,

response); }

public void doPost(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException

{

request.setCharacterEncoding("utf-8");

String

pageStr=request.getParameter("page");

String

rowsStr=request.getParameter("rows");

Integer page=0;

Integer rows=0;

long id=50;

try{

if(pageStr!=null&&!"".equals(pageStr)){

page=Integer.parseInt(pageStr);

}

if(rowsStr!=null&&!"".equals(rowsStr)){

rows=Integer.parseInt(rowsStr);

}

Pager

pg=dy.queryPage(page, rows, id);

Gson gson=new

Gson();

String

json=gson.toJson(pg);

response.setContentType("text/html;charset=utf-8");

response.getWriter().write(json);

response.getWriter().flush();

response.getWriter().close();

}catch(Exception e){

e.printStackTrace();

}

}

public void init() throws ServletException

{

}

}

Pager.java类:

package com.axjy.util;

import java.util.List;

public class Pager { private List rows;

private int total; private List today;

public List getRows() {

return rows;

}

public void setRows(List rows) {

this.rows = rows;

}

public int getTotal() {

return total;

}

public void setTotal(int total) {

this.total = total;

}

public List getToday() {

return today;

}

public void setToday(List today) {

this.today = today;

}

}

Dao层

package com.axjy.dao.impl;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Calendar;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import com.axjy.dao.DynamicNewsDao;

import com.axjy.entity.News;

import com.axjy.entity.SheetInfo;

import com.axjy.util.Pager;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class DynamicNewsDaoImpl extends BasicDaoImpl implements

DynamicNewsDao{

public Connection dbConnection;

public DynamicNewsDaoImpl() throws

SQLException{

ComboPooledDataSource cps=new

ComboPooledDataSource("tbsDB");

dbConnection=cps.getConnection();

}

public Pager queryPage(Integer currPage, Integer

pageSize, long offset) throws SQLException {

Pager

page=new Pager();

System.out.println("queryPage

444"); String sql="select

tbs1.file_info.*,tbs1.sheet_info.stime," +

"tbs1.sheet_info.etime,tbs1.sheet_info.cols

" +

"from

tbs1.file_info inner " +

"join

tbs1.sheet_info on tbs1.file_info.id=tbs1.sheet_info.file_id " +

"order

by tbs1.file_info.id desc limit 0,"+offset;

PreparedStatement

pstm=dbConnection.prepareStatement(sql);

PreparedStatement

pstm1=dbConnection.prepareStatement(sql);

System.out.println("queryPage

555");

ResultSet

rs=pstm.executeQuery();

ResultSet

rs1=pstm1.executeQuery();

Map map=new HashMap();

Map map1=new HashMap();

int sum=0;

while(rs.next()){

Date d = new

Date();

SimpleDateFormat

sm_y=new SimpleDateFormat("yyyy");

SimpleDateFormat

sm_m=new SimpleDateFormat("MM");

SimpleDateFormat

sm_d=new SimpleDateFormat("dd");

String

sm_yy=sm_y.format(d);

String

sm_mm=sm_m.format(d);

String

sm_dd=sm_d.format(d);

String

ddddd=sm_yy+"-"+sm_mm+"-"+sm_dd;

SimpleDateFormat

sdf = new SimpleDateFormat("yyyy-MM-dd");

String

e=sdf.format(rs.getInt("date"));

if(e.equals("1970-01-17")){

if(map1.containsKey(rs.getInt("id"))==false){

News

news=new News();

news.setId(rs.getInt("id"));

news.setDate(rs.getInt("date"));

news.setFilename(rs.getString("filename"));

news.setDepartment(rs.getString("department"));

news.setFiledir(rs.getString("filedir"));

news.setFilename(rs.getString("filename"));

news.setFiletype(rs.getString("filetype"));

news.setSize(rs.getInt("size"));

news.setUsername(rs.getString("username"));

map1.put(news.getId(),

news);

}

SheetInfo

si=new SheetInfo();

si.setCols(rs.getString("cols")); si.setEtime(rs.getString("etime"));

si.setStime(rs.getString("stime"));

map1.get(rs.getInt("id")).getSheetInfos().add(si);

}

}

while(rs1.next()){

if(map.containsKey(rs1.getInt("id"))==false){

News

news=new News();

news.setId(rs1.getInt("id"));

news.setDate(rs1.getInt("date"));

news.setFilename(rs1.getString("filename"));

news.setDepartment(rs1.getString("department"));

news.setFiledir(rs1.getString("filedir"));

news.setFilename(rs1.getString("filename"));

news.setFiletype(rs1.getString("filetype"));

news.setSize(rs1.getInt("size"));

news.setUsername(rs1.getString("username"));

map.put(news.getId(),

news);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值