hibernate mysql分页_求struts+hibernate实现mysql分页的详细代码
展开全部
分页不难 我分3段代码给你(dao 分页辅助业务类 Struts的Action 这写做完以后JSP里就可以随e69da5e887aa62616964757a686964616f31333236383537意使用了) 对于楼主没写过分页 要看的比较仔细 注释我也的不多 都是根据自己的思路写的
分页辅助类
-----------------------------
package biz;
/**
* 分页辅助类
* @author Administrator
*
*/
public class paghelp {
private int rows;//数据库总记录数
private int pagsize;//页大小
private int currNO;//当前页
private int nextNO;//下一页
private int refNO;//上一页
private int pagcount;//总共有多少页
//计算出下一页第一条纪录在数据库中的行标
public int getrow()
{
return (currNO-1)*pagsize;
}
public void Enum(int rows,int pagsize)
{
this.rows=rows;
this.pagsize=pagsize;
this.Calepagecount();
}
//构造 把数据库的总纪录数 和 要一页显示多少条纪录 传来
/*public paghelp(int rows,int pagsize)
{
this.rows=rows;
this.pagsize=pagsize;
this.Calepagecount();
}*/
/*public static void main(String[] args)
{
paghelp p=new paghelp();
p.jisuan(15, 5);
p.setCurrNO(2);
System.out.println(p.getPagcount());
System.out.println(p.getNextNO());
System.out.println(p.getRows());
}*/
//计算总共有多少页
public void Calepagecount()
{
if(rows % pagsize ==0)
{
this.pagcount=rows / pagsize;
}else
{
this.pagcount=rows / pagsize +1;
}
}
public int getRows() {
return rows;
}
public void setRows(int rows) {
this.rows = rows;
}
public int getPagsize() {
return pagsize;
}
public void setPagsize(int pagsize) {
this.pagsize = pagsize;
}
public int getCurrNO() {
return currNO;
}
//设置当前页
public void setCurrNO(int currNO) {
if(currNO > this.pagcount)
{
this.currNO=this.pagcount;
}else if( currNO < 1 )
{
this.currNO = 1;
}else
{
this.currNO=currNO;
}
}
//设置下一页
public int getNextNO() {
if(currNO + 1 >this.pagcount)
{
nextNO = this.pagcount;
}else
{
nextNO = currNO + 1;
}
return nextNO;
}
//设置上一页
public int getRefNO() {
if(currNO -1 <1)
{
refNO =1;
}else
{
refNO=currNO -1;
}
return refNO;
}
public paghelp()
{
}
//返回总页数
public int getPagcount() {
return pagcount;
}
public void settPagcount(int pagcount) {
this.pagcount=pagcount;
}
}
dao
-------------------------
/**
* 分页提取数据库宠物信息(测试信息)
* @param start 参数start 从数据库的哪个下标开始取(分页辅助类已经算好)
* @param size 参数size 每次取多少个(可以是常量)
* @return list宠物集合
*/
public List getAllPetMes(int start , int size)
{
List pets=null;
super.openSession();
query=session.createQuery("from PetInfo p order by(p.petStrength+p.petCute+p.petLove) desc");
query.setFirstResult(start);
query.setMaxResults(size);
pets=query.list();
super.closeSession();
return pets;
}
Struts的Action
------------------------------
package web;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import biz.paghelp;
import dao.PetDiaryDao;
import dao.PetinfoDao;
import entity.PetDiary;
import entity.PetInfo;
public class btnSelectAction extends DispatchAction {
PetinfoDao petinfodao=new PetinfoDao();
PetDiaryDao petdiarydao=new PetDiaryDao();
private static final int SIZE =5;//分页大小
paghelp p=new paghelp();
/**
* 按钮查询
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward petSelect(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
btnForm btnform=(btnForm)form;
List pets=null;
//查询全部
if(btnform.getPetName().length()==0&&btnform.getPetType().equals("-1")
&&btnform.getPetOwnerName().length()==0)
{
//把数据库的总纪录数 和 页大小 放到分页辅助类
p.Enum(petinfodao.petCount(),SIZE);
//取出当前页码 默认1 放到分页辅助类对象中
p.setCurrNO(btnform.getPagnum());
pets=petinfodao.getAllPetMes(p.getrow(),p.getPagsize());
request.setAttribute("pets", pets);
request.setAttribute("p", p);
}else
{
PetInfo pet=new PetInfo();
pet.setPetName(btnform.getPetName());//宠物名
pet.setPetType(Integer.parseInt(btnform.getPetType()));//宠物类型
pet.setPetOwnerName(btnform.getPetOwnerName());//宠物主人名
pets=petinfodao.muchSelectPet(pet);
p.Enum(pets.size(),SIZE);
//取出当前页码 默认1 放到分页辅助类对象中
p.setCurrNO(btnform.getPagnum());
pets=petinfodao.muchSelectPet(pet,p.getrow(),SIZE);
request.setAttribute("pets", pets);
request.setAttribute("p", p);
}
return mapping.findForward("pet_list");
}
本回答由提问者推荐
已赞过
已踩过<
你对这个回答的评价是?
评论
收起
hibernate mysql分页_求struts+hibernate实现mysql分页的详细代码相关推荐
- mysql 高手_求mysql高手
关于 求mysql高手的搜索结果 问题 求MYSQL数据库中关于CREATE SCHEMA的问题 如题.求MYSQL数据库中关于CREATE SCHEMA的详解!我是刚开始接触MYSQL 和 PHP ...
- linux mysql怎么样_最强Linux和Mysql面试题套餐,让你的面试无懈可击!
引言: 大家好,我是一菲,在软件测试当中linux 操作系统和Mysql数据库的内容是十分的知识同时也是十分重要的.所以一菲这两天通过查阅资料等其他方式为大家梳理了liunx和Mysql面试题大礼包, ...
- 宝塔mysql优化_宝塔面板下实现MySQL性能优化处理
在PHP+MYSQL架构网站运行过程中,往往会遇到各种性能问题影响,如MySQL.PHP.CPU.磁盘IO.缓存等,其中MySQL瓶颈就是最常见也最难解决的一种影响网站性能的因素:通常,我们会使用re ...
- 树莓派3 mysql端口_树莓派3 之 安装Mysql服务
需求 在树莓派上 安装Mysql 服务,并开启远程访问 步骤 安装 mysql server$ sudo apt-get install mysql-server 我以为中间会让我提示输入 数据库ro ...
- 认识mysql总结_从根上理解Mysql - 读后个人总结1-搜云库
初识 MySQL 通信介绍 MySQL 也是典型的 C / S 模型,分为客户端及服务端,服务端一般部署在远端服务器中,也可以部署至本地,然后客户端跟服务端通信则可以使用依赖网络的 TCP 长连接或 ...
- 如何用c 控制mysql数据库_用C语言操作MySQL数据库
函数 描述 mysql_affected_rows() 返回上次UPDATE.DELETE或INSERT查询更改/删除/插入的行数. mysql_autocommit() 切换autocommit模式 ...
- mysql运营_为线上运营Mysql数据库设置从库
一.为mysql运营主库添加一个repl 账号 [root@zabbix_server ~]# mysql -uroot -p -S /var/lib/mysql/mysql.sock Enter p ...
- php mysql 迁移_将phpstudy中的mysql迁移至Linux教程
项目目的 将原来windows环境中使用phpstudy搭建的mysql 5.5.53 中的数据迁移至新主机Linux环境中 环境情况 新主机 系统平台: CentOS release 7.4 (Fi ...
- java大神请出来_求java大神,请分析以下代码,写出执行结果,并解释每行结果输出的原因。...
求java大神,请分析以下代码,写出执行结果,并解释每行结果输出的原因.classPlate{publicPlate(){System.out.println("inPlateconstru ...
最新文章
- reactor与proactor模式
- bitset优化+滚动优化dp ----- 2021牛客多校第8场 F Robot
- 百度推送 android7.1,【SDK版本更新】Android SDK 5.7.1
- atitit. 文件上传带进度条 atiUP 设计 java c# php
- 感恩节里我成了一个不解风情的爸爸
- linux centos 丢失 grub.conf 启动系统
- (王道408考研操作系统)第三章内存管理-第一节6-1:非连续分配管理方式之基本分页存储管理
- windows下如何解决intellij idea控制台中文乱码
- 【kafka】kafka 零拷贝 技术
- IDEA安装插件(在线/离线)
- ZeroMQ模式介绍
- 分享一个软件测试工程师的年终总结
- html 磁贴自动布局,也来“玩”Metro UI之磁贴(一)_html/css_WEB-ITnose
- follow your heart
- python俄罗斯方块小游戏实验报告_用Python实现童年小游戏俄罗斯方块
- web buuctf [0CTF 2016]piapiapia
- 关于AI-人工智能看法,进行漫谈。
- 人脸识别4-百度商用方案调研
- nvme分区选mbr还是guid_win10 双系统 Ubuntu UEFI+GPT bios+mbr 理论与实践
- C语言中system函数用法解释
热门文章
- SAP Spartacus SSR模式启用失败的一个原因:SSR rendering exceeded timeout
- 深入学习SAP UI5框架代码系列之五:SAP UI5控件的实例数据修改和读取逻辑
- How is SCM product maintenance tcode redirecting access to MARA
- SAP Marketing Cloud功能简述(一)Contacts和Profiles
- SAP UI5 Require Busy dialog
- windows10大瘦身 - 关闭lync的日志记录
- SAP Marketing和SAP Marketing Cloud的区别
- 我去德国出差后学习的一些德语
- 如何判断SAP CDS view的association是inner join还是outer join实现的
- ubuntu如何进入超级权限模式,退出超级权限模式,sudo su——root权限