MVC模型:Hibernate+Struts2

dao层:

public List<UserBean> searchList(UserBean uBean,int pageIndex,int pageSize);

impl层:

@SuppressWarnings( "unchecked" )
public List<UserBean> searchList(UserBean uBean,int pageIndex,int pageSize) {
Session session = HibernateUtils.getSessionFactory().openSession();
Criteria criteria = session.createCriteria(UserBean.class);
if (uBean != null) {
if (StringUtil.isNotEmpty(uBean.getName())) {
criteria.add(Restrictions.like("name", uBean.getName(),MatchMode.ANYWHERE));
}
if (StringUtil.isNotEmpty(uBean.getPwd())) {
criteria.add(Restrictions.like("pwd", uBean.getPwd(),MatchMode.ANYWHERE));
}
if (StringUtil.isNotEmpty(uBean.getType())) {
criteria.add(Restrictions.like("type", uBean.getType(),MatchMode.ANYWHERE));
}
}

criteria.addOrder(Order.asc("id"));  //根据id排序
//criteria.addOrder(Order.desc("name"));

Long totalNum = (Long)criteria.setProjection(Projections.rowCount()).uniqueResult(); //总数量
int totalPage = (int) ((totalNum + pageSize -1) / pageSize);
int startIndex = (pageIndex-1)*pageSize;

criteria.setProjection(null);
criteria.setFirstResult(startIndex);
criteria.setMaxResults(pageSize);
System.out.println("总数="+totalNum+"总页数="+totalPage);

List<UserBean> list = criteria.list();
/*Iterator iterator = list.iterator();    //测试 -- 打印返回数据
while (iterator.hasNext()) {
UserBean userBean = (UserBean) iterator.next();
System.out.println("============"+userBean.getName()+","+userBean.getCreateTime());
}*/
return list;

}

server层:

public List<UserBean> searchBeans(UserBean uBean,int pageIndex,int pageSize){
List<UserBean> list = (List<UserBean>) dao.searchList(uBean,pageIndex,pageSize);
if (list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
System.out.println("-------数据信息为:"+list.get(i).getId()+","+list.get(i).getName()+","+list.get(i).getCreateTime());
}
System.out.println("=====每页条目数="+pageSize);
}
return list;
}

调用:

//方法

public static String queryByUserBean() throws Exception{
UserBeanServerDaoImpl sImpl = new UserBeanServerDaoImpl();
UserBean uBean = new UserBean();
//uBean.setName("bb");
//uBean.setPwd("45");
//uBean.setType("1");
int pageIndex = 3;
int pageSize = 10;
sImpl.searchBeans(uBean,pageIndex,pageSize);
return null;
}

public static void main(String[] args) {

try {

queryByUserBean();    //测试

} catch (Exception e) {
e.printStackTrace();
}
}

Hibernate 组合查询+分页的更多相关文章

  1. webform 分页、组合查询综合使用

    界面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx ...

  2. linq分页组合查询

    一.linq高级查 1.模糊查(字符串包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r = ...

  3. Web 组合查询加 分页

    使用ADO.NET 数据访问技术制作web端组合查询加分页的功能关键在于查询SQL语句的拼接 以Car 表为例 每页显示3条数据 数据访问类使用查询方法,tsql 查询的连接字符串,查询的参数放到Ha ...

  4. ajax分页与组合查询配合使用

    使用纯HTML页与js.ajax.Linq实现分页与组合查询的配合使用 <body> <div id="top"><input type=" ...

  5. Webform(Linq高级查、分页、组合查询)

    一.linq高级查 1.模糊查(包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r => ...

  6. Webform(分页与组合查询配合使用)

    1.封装实体类 2.写查询方法 //SubjectData类 public List<Subject> Select(string name) { List<Subject> ...

  7. webform:分页组合查询

    一个简单的分页组合查询页面 /// <summary> /// 查询方法 /// </summary> /// <param name="tsql"& ...

  8. webform组合查询和分页

    1.组合查询(1)数据访问类 //参数1:SQL语句 参数2:哈希表public List<Users> chas(string s,Hashtable has) { List<Us ...

  9. Webform(分页、组合查询)

    一.分页 1.写查询方法: public List<Student> Select(int PageCount, int PageNumber) {//PageCount为每页显示条数,P ...

随机推荐

  1. Spring Cloud实战: 基于Spring Cloud Gateway + vue-element-admin 实现的RBAC权限管理系统,实现网关对RESTful接口方法权限和自定义Vue指令对按钮权限的细粒度控制

    一. 前言 信我的哈,明天过年. 这应该是农历年前的关于开源项目 的最后一篇文章了. 有来商城 是基于 Spring Cloud OAuth2 + Spring Cloud Gateway + JWT ...

  2. Atlas 读写分离 & Atlas + MHA 故障自动恢复

    目录 Atals 介绍 Atlas 主要功能 Atlas 相对于官方 MySQL-Proxy 的优势 Atlas 使用 Atlas 安装 Atlas 目录 Atlas 配置 Atlas 启动 Atla ...

  3. 一些CTF题目--20/9/3

    1. 看源码 POST方法.Extract覆盖. 直接url ?参数不行,因为POST参数不在URL上,GET参数才在 Burpsuite抓包,改成  pass=1&thepassword_1 ...

  4. python argparse (更新中)

    action='store_true' 例如 parser.add_argument("--generate_text_embedding", action='store_true ...

  5. SPOJ VLATTICE Visible Lattice Points(莫比乌斯反演)题解

    题意: 有一个\(n*n*n\)的三维直角坐标空间,问从\((0,0,0)\)看能看到几个点. 思路: 按题意研究一下就会发现题目所求为. \[(\sum_{i=1}^n\sum_{j=1}^n\su ...

  6. 牛客多校第九场H Cutting Bamboos(主席树 区间比k小的个数)题解

    题意: 标记为\(1-n\)的竹子,\(q\)个询问,每次给出\(l,r,x,y\).要求为砍区间\(l,r\)的柱子,要求砍\(y\)次把所有竹子砍完,每次砍的时候选一个高度,把比他高的都砍下来,并 ...

  7. Windows 10 Emoji shortcuts

    Windows 10 Emoji shortcuts Windows 10 Emoji 快捷方式 https://support.microsoft.com/en-us/windows/windows ...

  8. 项目管理工具看板 All In One

    项目管理工具看板 All In One Trello https://trello.com/ 我们来总结一下 Trello 是 Atlassian 旗下公司,所有使用 Trello 的人都将使用 At ...

  9. CSS ? Layout Module : CSS 布局模型

    1 1 1 https://www.w3.org/TR/css-grid-1/ CSS Grid Layout Module Level 1 W3C Working Draft, 19 May 201 ...

  10. How to get a DOM element's ::before content with JavaScript?

    How to get a DOM element's ::before content with JavaScript? https://stackoverflow.com/questions/443 ...