Hibernate 查询sql结果行数的几种方法
一、前言
这个东西,难度几乎没有,就是繁琐。
一条简单的select count(*) from table_name
都能有多种书写方式。
总是忘,这里记录下。
一 、通过Criteria 查询
查询行数:
Criteria criteriaCount = getCriteria();
criteriaCount = criteriaCount.add(Restrictions.eq("dispatchTaskId", dispatchTaskId));
criteriaCount.setProjection(Projections.rowCount());
Integer totalCount = ((Long) criteriaCount.uniqueResult()).intValue();
查询列表:
Criteria criteria = getCriteria();
criteria.add(Restrictions.eq("eventId", eventInformationId));
List<EventTaskAssignment> list = criteria.list();
二、通过原生sql查询
查询行数:
SQLQuery queryCount = getSession().createSQLQuery("SELECT COUNT(*) FROM incidentInformation WHERE ii.incidentInformationId = :incidentInformationId AND dti.taskstate = :taskstate");
queryCount.setParameter("incidentInformationId", incidentInformationId);
queryCount.setParameter("taskstate", ETaskStatus.STATUS_INIT.getStatusValue());
int count = ((BigDecimal) queryCount.uniqueResult()).intValue();
return count;
查询列表:
1、返回的item为数据库表对应po
SQLQuery query = getSession().createSQLQuery(sqlQuery);
query.setParameter("userId", userId); query.addEntity(EventTaskAssignment.class);
List<EventTaskAssignment> items = query.list();
2、返回的item为vo
SQLQuery query = getSession().createSQLQuery(sqlBuffer.toString());
query.setParameter("eventInformationId", eventInformationId);
query.addScalar("userId", StandardBasicTypes.STRING);
query.addScalar("userName", StandardBasicTypes.STRING);
query.setResultTransformer(Transformers.aliasToBean(UserRoles.class));
List<UserRoles> list = query.list();
三、通过hibernate的查询语言查询
String countHql = "select count(*) from a where and a.approveResult = :approveResult and a.approverId = :approverId";
Query countQuery = getSession().createQuery(countHql);
countQuery.setParameter("approverId", approverId);
int count = ((Long) countQuery.uniqueResult()).intValue();
Hibernate 查询sql结果行数的几种方法的更多相关文章
- hbase统计表的行数的三种方法
有些时候需要我们去统计某一个hbase表的行数,由于hbase本身不支持SQL语言,只能通过其他方式实现. 可以通过一下几种方式实现hbase表的行数统计工作: 这里有一张hbase表test:tes ...
- MS SQL查询所有表行数,获取所有数据库名,表名,字段名
1.获取所有数据库名 --SELECT Name FROM Master..SysDatabases ORDER BY Name -- 2.获取所有表名: --SELECT Name NAMEtemp ...
- 查询执行成本高(查询访问表数据行数多)而导致实例 CPU 使用率高是 MySQL 非常常见的问题
MySQL CPU 使用率高的原因和解决方法_产品性能_常见问题_云数据库 RDS 版-阿里云 https://help.aliyun.com/knowledge_detail/51587.html ...
- SQL Server 优化存储过程的七种方法
原文:SQL Server 优化存储过程的七种方法 优化存储过程有很多种方法,下面介绍最常用的7种. 1.使用SET NOCOUNT ON选项 我们使用SELECT语句时,除了返回对应的结果集外,还会 ...
- 查看sql server数据库连接数的三种方法
怎样才能查看sql server数据库连接数呢?下面就将为您介绍三种查看的方法,供您参考,希望能够帮助到您. 1.通过系统的“性能”来查看:开始->管理工具->性能(或者是运行里面输入 m ...
- MySQL关闭查询缓存(QC)的两种方法
MySQL Query Cache 会缓存select 查询,安装时默认是开启的,但是如果对表进行INSERT, UPDATE, DELETE, TRUNCATE, ALTER TABLE, DROP ...
- Linux下查看线程数的几种方法汇总
Linux下查看线程数的几种方法汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux下查看某个进程的线程数量 pstree命令以树状图显示进程间的关系(display ...
- Shell脚本中执行sql语句操作mysql的5种方法【转】
对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的 ...
- SQL Server遍历表的几种方法 转载
SQL Server遍历表的几种方法 阅读目录 使用游标 使用表变量 使用临时表 在数据库开发过程中,我们经常会碰到要遍历数据表的情形,一提到遍历表,我们第一印象可能就想到使用游标,使用游标虽然直观易 ...
随机推荐
- 各大引擎矩阵的矩阵存储方式 ----行矩阵 or 列矩阵
OpenGL 里面的矩阵 float m[16]; OpenGL中的矩阵是这样的 m[0] m[4] m[8] m[12] m[1] m[5] m[9] m[13] m[2] m[6] m[10] ...
- js 退后一步并刷新,window.history.back(-1);这个只能后退一步不能刷新,
location.href=document.referrer; document.referrer是获取上一页的url
- Kafka配置说明
Broker Configs Property Default Description broker.id 每个broker都可以用一个唯一的非负整数id进行标识:这个id可以作为broker的 ...
- 怎么使用ABBYY中的Bates编号
ABBYY PDF Transformer+ 可让您将 Bates 编号添加到 PDF 文档.Bates 编号可方便文档搜索和检索,并更加有利于电子归档.下面小编给小伙伴们讲讲ABBYY PDF Tr ...
- CakePHP程序员必须知道的21条技巧
这篇文章可以说是CakePHP 教程中最经典的了.虽然不是完整的手把手系列, 但作者将自己使用CakePHP 的经验总结了21条,这些尤其是对新手十分有用. 翻译时故意保留了一些CakePHP 中特有 ...
- WebGL常用数学公式
1.三角函数 坐标轴采用右手法则,沿Z轴的逆时针方向为正角度,假设原始点为p(x,y,z),a是X轴旋转到点p的角度,r是从原始点到p点的距离.用这两个变量计算出点p的坐标,等式如下: x = rco ...
- eclipse中断点不生效
摘录自:http://blog.sina.com.cn/s/blog_496117520100kw6b.html Eclipse下Debug时弹出错误“Unable to install breakp ...
- Ubuntu下用matplotlib作图时显示中文
之前在Ubuntu下用matplotlib作图的时候发现无法正常显示中文,查了一番以后发现是Ubuntu系统和matplotlib库没有共同可显示的中文字体库的原因.用此文章的方法可以解决这一问题. ...
- Android Studio 视图解析
AS一共同拥有三种视图.我们来分别分析每一种视图的作用. 一.Project视图.(白色字体的文件夹/文件可不关注) 图片中的链接 Gralde介绍:http://stormzhang.com/dev ...
- 5 -- Hibernate的基本用法 --4 4 数据库方言
Hibernate底层依然使用SQL语句来执行数据库操作,虽然所有关系数据库都支持使用标准SQL语句,但所有数据库都对标准SQL进行了一些扩展,所以在语法细节上存在一些差异.因此,Hibernate需 ...