hibernate+pageBean实现分页dao层功能代码

hibernate+pageBean实现分页dao层功能代码

今天闲来无事,摆弄了一下分页,突然发现很多代码长时间不用就生梳了,虽然有些基础,但没有一篇整合的。这里还是简单示例,主要是以后自己翻着看不用百度找啊找找不到一篇想要的

1、PageBean实体类,一页出的内容全都有

复制代码
 1 package entity;
 2 
 3 import java.util.List;
 4 
 5 /**
 6  * 定义一个分页对象
 7  * @author 0
 8  *
 9  */
10 public class PageBean<T> {
11     private int pageNo;//当前页码
12     private int totalPageCount;//总页码
13     private int totalCount;//总条数
14     private int pageSize=3;//每页显示条数
15     private int upPageNo;//上一页
16     private int nextPageNo;//下一页
17     //一页返回的数据集合
18     private List<?> list;
19     public int getPageNo() {
20         return pageNo;
21     }
22     public void setPageNo(int pageNo) {
23         //如果当前页码大于0,才设置当前页码值
24         if(pageNo>0){
25             this.pageNo=pageNo;
26         }
27     }
28     public int getTotalPageCount() {
29         return totalPageCount;
30     }
31     public void setTotalPageCount(int totalPageCount) {
32         if(this.getTotalCount()%this.pageSize==0){
33             this.totalPageCount=this.getTotalCount()/this.pageSize;
34         }else if(this.getTotalCount()%this.pageSize >0){
35             this.totalPageCount=this.getTotalCount()/this.pageSize +1;
36         }else{
37             this.totalPageCount = 0;
38         }
39     }
40     public int getTotalCount() {
41         return totalCount;
42     }
43     public void setTotalCount(int totalCount) {
44         this.totalCount = totalCount;
45     }
46     public int getPageSize() {
47         return pageSize;
48     }
49     public void setPageSize(int pageSize) {
50         this.pageSize = pageSize;
51     }
52     public int getUpPageNo() {
53         return upPageNo;
54     }
55     //对上一页进行判断
56     public void setUpPageNo(int upPageNo) {
57         //如果当前页>1
58         if(this.pageNo>1){
59             this.upPageNo = this.pageNo-1;
60         }
61     }
62     
63     public int getNextPageNo() {
64         return nextPageNo;
65     }
66     //对下一页进行判断
67     public void setNextPageNo(int nextPageNo) {
68         //如果当前页>0且小于总页数,则可以有下一页
69         if(this.pageNo>0 && this.pageNo < this.totalPageCount){
70             this.upPageNo = this.pageNo+1;
71         }
72     }
73     
74     public List<?> getList() {
75         return list;
76     }
77     public void setList(List<?> list) {
78         this.list = list;
79     }
80     
81     
82     
83 }
复制代码

 

 2、dao层实现类,这里框架用的hibernate。hibernate作dao层的数据处理,真是太方便了

复制代码
 1 package dao.impl;
 2 
 3 
 4 import java.util.List;
 5 
 6 import org.hibernate.Query;
 7 import org.hibernate.Session;
 8 
 9 import util.HibernateSessionFactory;
10 
11 import dao.InfoMationDao;
12 import entity.Info;
13 import entity.PageBean;
14 
15 public class InfoMationDaoImpl implements InfoMationDao {
16 
17     public PageBean<Info> getInfoByPage(int pageNo, String where) {
18         Session session=HibernateSessionFactory.getSession();
19         PageBean<Info> pagebean=new PageBean<Info>();
20         
21         try {
22             
23             //求数据总量
24             int totalCount = ((Number) session.createQuery("select count(*) as count from Info where 1=1 "+where).uniqueResult()).intValue() ;
25             //总数、当前页、总页数
26             pagebean.setTotalCount(totalCount);
27             pagebean.setPageNo(pageNo);
28             pagebean.setTotalPageCount(totalCount/pagebean.getPageSize());
29             pagebean.setUpPageNo(pageNo-1);
30             pagebean.setNextPageNo(pageNo+1);
31             
32             //建立查询
33             Query query = session.createQuery("from Info where 1=1 "+where);
34             //设置起始行pageSize*pageNo,(pageNo-1)*pageSize
35             query.setFirstResult((pageNo-1)*pagebean.getPageSize());
36             //设置每页条数
37             query.setMaxResults(pagebean.getPageSize());
38             List<Info> infolist = query.list();
39             pagebean.setList(infolist);
40             
41         } catch (Exception e) {
42             e.printStackTrace();
43         }
44         return pagebean;
45     }
46 
47 /*    public static void main(String[] args) {
48         InfoMationDao im=new InfoMationDaoImpl();
49         int pageno=1;
50         String where="";
51         PageBean<Info> pb = im.getInfoByPage(pageno, where);
52         System.out.println(pb.getList().size());
53     }*/
54 }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接来得到预测值。其网络结构通常包含多个卷积和全连接,通过卷积提取图像特征,通过全连接输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值