Hibernate的批量查询——Criteria查询所有、条件、分页、统计(聚合函数)、排序
1、查询所有的学生信息:
public static void testSel() {
            Session session = HibernateUtils.openSession();
            Transaction transaction = session.beginTransaction();
            Criteria criteria=session.createCriteria(Student.class);
            List<Student>list= criteria.list();
            System.out.println(list);
            transaction.commit();
            session.close();
        }

2、条件查询:
运算符与对应的英文缩写:
> gt >=ge <lt <=le ==eq
!=ne in:in between and::between
like:like is not null:isNotNull
or:or and:and
(1)eq的运用:
public static void testSel() {
            Session session = HibernateUtils.openSession();
            Transaction transaction = session.beginTransaction();
            Criteria criteria=session.createCriteria(Student.class);
            criteria.add(Restrictions.eq("sex","女"));
            List<Student>list= criteria.list();
            System.out.println(list);
            transaction.commit();
            sessio

(2)like的运用:
public static void testSel() {
            Session session = HibernateUtils.openSession();
            Transaction transaction = session.beginTransaction();
            Criteria criteria=session.createCriteria(Student.class);
            criteria.add(Restrictions.like("sname","许__"));
            List<Student>list= criteria.list();
            System.out.println(list);
            transaction.commit();
            session.close();
        }

3、分页查询:
需要事先设置起始位置和查询的数量。
public static void testSel() {
            Session session = HibernateUtils.openSession();
            Transaction transaction = session.beginTransaction();
            Criteria criteria=session.createCriteria(Student.class);
            criteria.add(Restrictions.eq("sex","女"));
            criteria.setFirstResult();
            criteria.setMaxResults();
            List<Student>list= criteria.list();
            System.out.println(list);
            transaction.commit();
            session.close();
        }

4、总记录数的获取:
 public static void testSel() {
            Session session = HibernateUtils.openSession();
            Transaction transaction = session.beginTransaction();
            Criteria criteria=session.createCriteria(Student.class);
            criteria.setProjection(Projections.rowCount());//聚合函数获得总行数
            Long rowNum= (Long) criteria.uniqueResult();
            System.out.println(rowNum);
            List<Student>list= criteria.list();
            System.out.println(list);
            transaction.commit();
            session.close();
        }

5、排序:
升序:
public static void testSel() {
        Session session = HibernateUtils.openSession();
        Transaction transaction = session.beginTransaction();
        Criteria criteria=session.createCriteria(Student.class);
        criteria.addOrder(Order.asc("studentno"));
        List<Student>list= criteria.list();
        System.out.println(list);
        transaction.commit();
        session.close();
    }

降序:
 public static void testSel() {
        Session session = HibernateUtils.openSession();
        Transaction transaction = session.beginTransaction();
        Criteria criteria=session.createCriteria(Student.class);
        criteria.addOrder(Order.desc("studentno"));
        List<Student>list= criteria.list();
        System.out.println(list);
        transaction.commit();
        session.close();
    }

5、Criteria 和 DetachedCriteria的区别
Criteria 和 DetachedCriteria 的主要区别在于创建的形式不一样, Criteria 是在线的,所以它是由 Hibernate Session 进行创建的;而 DetachedCriteria 是离线的,创建时无需Session。
例如下面的条件查询代码写在servlet中,没有与session进行连接:
 String cust_name = request.getParameter("cust_name");
        DetachedCriteria dc = DetachedCriteria.forClass(Customer.class);
        if(cust_name!=null && !"".equals(cust_name)){
            dc.add(Restrictions.like("cust_name", "%"+cust_name+"%"));
        }
Hibernate的批量查询——Criteria查询所有、条件、分页、统计(聚合函数)、排序的更多相关文章
- NHibernate初学三之条件查询(Criteria Queries)与AspNetPager分页实例
		
NHibernate除了SQL与HQL两种查询操作外,还有一种就是条件查询Criteria,本文将从网上整理一些Criteria的理论及小实例,最后通过一个结合AspNetPager分页来加深理解,必 ...
 - 大数据入门到精通16--hive 的条件语句和聚合函数
		
一.条件表达 case when ... then when .... then ... when ... then ...end select film_id,rpad(title,20," ...
 - Hibernate里面如何使用DetachedCriteriaCriteria 实现多条件分页查询
		
WEB层: // 获取分页的请求参数 String start = request.getParameter("start"); String page = request.get ...
 - Hibernate(十二)Criteria查询
		
一.简述 Criteria是一种比hql更面向对象的查询方式.Criteria 可使用 Criterion 和 Projection 设置查询条件.可以设置 FetchMode(联合查询抓取的模式 ) ...
 - [NHibernate]条件查询Criteria Query
		
目录 写在前面 文档与系列文章 条件查询 一个例子 总结 写在前面 上篇文章介绍了HQL查询,我个人觉得使用ORM框架就是为了让少些sql,提高开发效率,而再使用HQL就好像还是使用sql,就觉得有点 ...
 - 第九章   Criteria查询及注解
		
第九章 Criteria查询及注解9.1 使用Criteria查询数据 9.1.1 条件查询 Criteria查询步骤: 1)使用session接口的cr ...
 - JPA criteria 查询:类型安全与面向对象
		
参考:https://my.oschina.net/zhaoqian/blog/133500 一.JPA元模型概念,及使用 在JPA中,标准查询是以元模型的概念为基础的.元模型是为具体持久化单元的受管 ...
 - SQL语句汇总(三)——聚合函数、分组、子查询及组合查询
		
聚合函数: SQL中提供的聚合函数可以用来统计.求和.求最值等等. 分类: –COUNT:统计行数量 –SUM:获取单个列的合计值 –AVG:计算某个列的平均值 –MAX:计算列的最大值 –MIN:计 ...
 - Python-select 关键字 多表查询 子查询
		
sql 最核心的查询语句!!!! 增删改 单表查询 select语句的完整写法 关键字的书写顺序 执行顺序 多表查询 笛卡尔积 内连接 左外连接 右外连接 全外连接 通过合并左外连接和右外连接 子查询 ...
 
随机推荐
- 「雅礼集训 2017 Day1」字符串 SAM、根号分治
			
LOJ 注意到\(qk \leq 10^5\),我们很不自然地考虑根号分治: 当\(k > \sqrt{10^5}\),此时\(q\)比较小,与\(qm\)相关的算法比较适合.对串\(s\)建S ...
 - group by 对多个字段进行分组
			
转载自:https://blog.csdn.net/xx_star1204/article/details/72884983 在平时的开发任务中我们经常会用到MYSQL的GROUP BY分组, 用来获 ...
 - ELK学习笔记之Kibana权限控制和集群监控
			
详细请参考如下四篇博客,注意ELK6中移除了Xpack的默认账户和密码,需要手动设置 Kibana安全特性之权限控制 ELK 集群 Kibana 使用 X-Pack 权限控制,监控集群状态,警报,监视 ...
 - IIS 图片 JS CSS 500错误
			
1.检查站点MIME类型是否可以正常加载
 - C#读写设置修改调整UVC摄像头画面-焦点
			
有时,我们需要在C#代码中对摄像头的焦点进行读和写,并立即生效.如何实现呢? 建立基于SharpCamera的项目 首先,请根据之前的一篇博文 点击这里 中的说明,建立基于SharpCamera的摄像 ...
 - azure 上传blob到ams(CreateFromBlob)
			
遇到的错误:The destination storage credentials must contain the account key credentials,参数名: destinationS ...
 - C#文件操作之把字符串取到文本文件及把文本文件读取到字符串中
			
一.把字符串读取到文本文件中 using (FileStream fs = new FileStream(Path, FileMode.OpenOrCreate))//把json读到一个文本中 { S ...
 - javascript实现网页倒计时效果
			
一.HTML代码如下: <div class="timer" id="timer"> <span style="color: bla ...
 - Numpy和Pandas的使用入门
			
Numpy Numpy基本数据结构 np.array()函数接受一个多维list,返回对应纬度的矩阵 vector = np.array([1, 2, 3, 4]) matrix = np.array ...
 - Odoo MRP模块
			
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10825963.html 一:MRP MRP:产品制造管理. 产品制造业务设计到以下几个关键概念: 1)BOM ...