hibernate查询总记录数

@Override
    public Integer getCount() {
        return getHibernateTemplate().execute(new HibernateCallback<Integer>(){

@Override
            public Integer doInHibernate(Session session) throws HibernateException {
                String hql="select count(*) from  Customer";
                Query query = session.createQuery(hql);
                int i = ((Long) query.setCacheable(true).uniqueResult()).intValue();
                return i;
            }
        });
    }

时间: 2024-10-13 23:14:31

hibernate查询总记录数的相关文章

MySQL使用GROUP BY后查询总记录数

test表 要查出某个用户具有哪些操作,即把操作进行组合 以下的SQL可以达到目的 SELECT NAME,GROUP_CONCAT(operation) AS operation FROM test GROUP BY NAME 接着要查出这样的用户有多少个,直接在SELECT后加上COUNT()函数已经不起作用了. 一种解决方式是把查询结果当作一张表,在外层用SELECT COUNT(*) SELECT COUNT(*) FROM ( SELECT NAME,GROUP_CONCAT(oper

Hibernate查询总的记录数

1. 原生sql String hql="select count(*) from product" ;//此处的product是数据库中的表名 Query query=session.createSQLQuery(hql); List<BigInteger> list=query.list(); //此处胡一定要注意是Bignter类型的,傻了吧唧的试了好多(Long,Integer)都报错 count = list.get(0).intValue(); 2.hql语句

MYSQL使用group by,如何查询出总记录数

比如有这样一条SQL,根据t.user_id,t.report_date两个字段统计 这样前端页面能展示数据,但往往需要一个总记录数,在有分页的情况下用到 一种解决方法是在外面套一层,然后对其count(*) SELECT COUNT(*) FROM (SELECT t.report_date ,t.user_id FROM my_table t GROUP BY t.user_id,t.report_date ) AA 还有一种简单的方法可以这样写 SELECT COUNT(DISTINCT

[MSSQL]如何高效查询表的总记录数

如何高效查询表的总记录数?[总结-整理-马克] 首先想到的自然是在表主键上应用COUNT函数来查询了,这个是目前使用最多的方法,没有之一 SELECT COUNT(1) ROWS FROM product 这里再给出一些其它方法,这些方法或多或少会有一些限制,或者看起来不是那么"完美",但依然有一定的借鉴意义,信息量不大,请客官慢用 另类方法1 充分利用系统自带的存储过程SP_SPACEUSED,详细的使用方式推荐谷哥或度娘,看代码 EXEC SP_SPACEUSED 'PRODUCT

超市账单管理------之获取总记录数

根据以前写过的登录,现在来写一下获取总记录数根据上一个继续编写 1.在IUserInfoDAO中编写 1 //2.获取总记录数 2 public int getTotalCount(); IUserInfoDAO.xml 1 <!--2.获取总记录数--> 2 <select id="getTotalCount" resultType="int"> 3 select count(1) from smbms_user 4 </select

group by 获取总记录数

sql中有group buy 后如何获取总记录的条数,来生成分页 当然一般情况下我是不推荐这样的分页,如果你真的需要应该是你表结构设计有问题 1.适用于所有情况 $db = new PDO(DSN...); $db->setAttribute(array(PDO::MYSQL_USE_BUFFERED_QUERY=>TRUE)); #必须开启查询缓存 $rs = $db->query('SELECT SQL_CALC_FOUND_ROWS * FROM table LIMIT 5,15'

sql查询总记录以及 查询每条光缆下的所涉及到表的信息

/*光缆有条少条隐患1,查询光缆表Optic_Cable, 2,根据光缆表关联的光缆巡检(轨迹巡检)的路线查标石(Optic_LinePat轨迹的路线名称),(Optic_LinePat_Sub,轨迹路线下的标石),3,然后根据标石关联巡检信息表中这个标石的所有隐患次数(Optic_LinePat_Rec巡检产生的信息表,根据上面查询到的标石进行隐患匹配)*/select a.光缆条数 as glcount,a.光缆长度 as gllength,b.正常端口 as yesdk,b.损坏端口 as

关于criteria分页中获取总记录数异常问题

一.情景在线 运维同事反馈了一个问题,说咱们查询分机号码的api 接口返回数据异常,具体的情况时是: 1.查询时第一页信息所返回的总记录数正确,数据正确. 2.查询第二页总记录数为 "0" ,数据为对应的第二页数据. what!!! 二.为题排查 按照同事的提供的线索,在本地复现发现-->果然如此! 传入当前页 pageNow>1 时 总数totel 将为零,且必现! 多次测试发现: 传入pageNow=1 控制台打印的sql select count(*) as y0_

分页的总记录数简单总结

提出:   页面一行显示10条数据,如果数据库有20条数据,就显示2页,如果数据库有28数据,就应该显示3页. 下面对如何计算进行分析. 解决: 方法一: if(totalRecord % pageSize == 0){ //如果数据库总记录数与页面显示条数整好相除(20 / 10 = 2),就是一般情况 totalPage = totalRecord / pageSize; }else{ //如果数据库总记录数与页面显示条数有多余条数(28 / 10 = 2.8),无法得到多余 //数据的页数