java实现用户分页消息功能
2017-04-24 16:29
381 查看
java实现用户分页消息功能
package com.kero99.ygc.pojo;
import com.kero99.ygc.entity.TbUsers;
import com.kero99.ygc.util.Data;
//继承pojo
public class MsgPageData extends PageData {
private TbUsers users; //用户
}
package com.kero99.ygc.pojo; import java.util.List; //分页pojo 持久化类 public class PageData<E> { private int PageIndex; //页码 private int ResultCount;//总记录数 private int PageCount;//总页数 private List<E> list;//分页数据 public int getPageIndex() { return PageIndex; } public void setPageIndex(int pageIndex) { PageIndex = pageIndex; } public int getResultCount() { return ResultCount; } public void setResultCount(int resultCount) { ResultCount = resultCount; } public int getPageCount() { return PageCount; } public void setPageCount(int pageCount) { PageCount = pageCount; } public List<E> getList() { return list; } public void setList(List<E> list) { this.list = list; } }
package com.kero99.ygc.pojo;
import com.kero99.ygc.entity.TbUsers;
import com.kero99.ygc.util.Data;
//继承pojo
public class MsgPageData extends PageData {
private TbUsers users; //用户
public int getPageSize(){ return Data.MSG_SIZE; //获取到的每页显示数 MSG_SIZE为常量10 } public TbUsers getUsers() { return users; } public void setUsers(TbUsers users) { this.users = users; }
}
package com.kero99.ygc.service.impl; import java.util.List; import com.kero99.ygc.dao.TbMsgDao; import com.kero99.ygc.dao.impl.TbMsgDaoImpl; import com.kero99.ygc.entity.TbMsg; import com.kero99.ygc.entity.TbUsers; import com.kero99.ygc.pojo.MsgPageData; import com.kero99.ygc.service.TbMsgService; import com.kero99.ygc.util.Data; public class TbMsgServiceImpl implements TbMsgService { private TbMsgDao msgDao; public TbMsgServiceImpl() { msgDao=new TbMsgDaoImpl(); } //分页算法实现用户消息分页 //pageCount总页数=总记录数 对 每页显示数 取余==0则总记录数对每页显示数取商 否则+1页 public MsgPageData queryPage(MsgPageData pageData) { //1.已知 TbUsers users=pageData.getUsers(); int pageIndex=pageData.getPageIndex(); int pageSize=Data.MSG_SIZE; //2.未知 int resultCount=msgDao.findResultCount(users); int pageCount=(resultCount%pageSize==0)?resultCount/pageSize:(resultCount/pageSize+1); //改进版本 int pageCount=(int) Math.ceil(resultCount/Data.MSG_SIZE); List<TbMsg> list=msgDao.findInterzone(pageIndex,users); pageData.setList(list); pageData.setResultCount(resultCount); pageData.setPageCount(pageCount); return pageData; } public TbMsgDao getMsgDao() { return msgDao; } public void setMsgDao(TbMsgDao msgDao) { this.msgDao = msgDao; } }
hibernate查询用户分页的信息 public List<TbMsg> findInterzone(int pageIndex, TbUsers users) { session=BaseDao.getSession(); String hql="from TbMsg where usersid=:uid order by bdate desc"; Query query=session.createQuery(hql); query.setLong("uid", users.getId()); query.setFirstResult((pageIndex-1)*Data.MSG_SIZE); query.setMaxResults(Data.MSG_SIZE); List<TbMsg> list=query.list(); session.close(); return list; } public int findResultCount(TbUsers users) { session=BaseDao.getSession(); String hql="select count(*) from TbMsg where usersid=:uid"; Query query=session.createQuery(hql); query.setLong("uid", users.getId()); int count=Integer.parseInt(query.uniqueResult().toString()); session.close(); return count; }
package com.kero99.ygc.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.kero99.ygc.entity.TbUsers; import com.kero99.ygc.pojo.MsgPageData; import com.kero99.ygc.service.TbMsgService; import com.kero99.ygc.service.TbUsersService; import com.kero99.ygc.service.impl.TbMsgServiceImpl; import com.kero99.ygc.service.impl.TbUsersServiceImpl; public class TbMsgServlet extends BaseServlet { private TbUsers users; private TbMsgService msgService; public TbMsgServlet() { msgService=new TbMsgServiceImpl(); } @Override public void init() throws ServletException { // TODO Auto-generated method stub super.init(); } @Override public void destroy() { // TODO Auto-generated method stub super.destroy(); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); String type=request.getParameter("type"); if(type.equals("paging")){ paging(request, response); } } public void paging(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{ HttpSession session=request.getSession(); TbUsers users=(TbUsers) session.getAttribute("users"); int pageIndex=1; try { pageIndex=Integer.parseInt(request.getParameter("pageIndex")); } catch (Exception e) { System.err.println("获取页码失败!默认访问首页"); } // 改进版本 int pageIndex = request.getParameter("pageIndex")==null?1:Integer.parseInt(request.getParameter("pageIndex")); MsgPageData pageData=new MsgPageData(); pageData.setPageIndex(pageIndex); pageData.setUsers(users); pageData=msgService.queryPage(pageData); request.setAttribute("pageData", pageData); request.getRequestDispatcher("info.jsp").forward(request, response); } public TbUsers getUsers() { return users; } public void setUsers(TbUsers users) { this.users = users; } public TbMsgService getMsgService() { return msgService; } public void setMsgService(TbMsgService msgService) { this.msgService = msgService; } }
相关文章推荐
- java实现用户分页消息springmvc+mysql精装版本
- JAVA中实现消息提示功能代码
- 字符串处理是许多程序中非常重要的一部分,它们可以用于文本显示,数据表示,查找键和很多目的.在Unix下,用户可以使用正则表达式的强健功能实现这些 目的,从Java1.4起,Java核心API就引入了java.util.regex程序包,它是一种有价值的基础
- JAVA分页实现,用java写一个分页功能的代码
- 举例详解用Java实现web分页功能的方法
- java中实现分页功能
- 使用AspNetPager分页控件、分页存储过程及用户控件基类实现的完美分页功能
- JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能
- JAVA、jsp、数据库实现分页浏览功能
- java源码实现生成,签发,验证用户证书功能
- javaweb mysql实现分页功能
- 使用AspNetPager分页控件、分页存储过程及用户控件基类实现的完美分页功能
- 分页功能的java实现
- Java实现系统内部消息广播的功能
- Java实现XMPP发送接收消息和文件功能
- (jsp 和 servlet功能篇) jsp+servlet+javaBean 实现分页代码(mysql 数据库)
- 利用颠倒TOP分页算法实现分页功能的思考(java 代码实现)
- 11级_Java_曹建波 04.07 jQuery easyUI +struts2+hibernate+oracle 实现 admin用户的分页操作
- 关于JavaWeb如何实现用户注册 后台即时提醒(类似站内信功能)
- java调用存储过程实现分页功能