`
unbounder
  • 浏览: 174399 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate统计单表记录数量

阅读更多
之前写jdbc常遇到这个问题
select list后在list.size比起select count(*) from xx 这种方式速度上至少慢了一个数量级
不过刚接触hibernate,又遇到这个需求时就不知所措了

直接

String hql = "select count(*) from Object";
 Query q = session.createQuery(hql);

可以解决,不过不能放到泛型dao里,指定表名使得之前做的映射完全丧失了意义

查了半天api,这种方法貌似能解决问题

public int findSumByTime(final Date beginTime, final Date endTime) {
        int sum = (Integer) this.getHibernateTemplate().execute(
                new HibernateCallback() {

                    @Override
                    public Object doInHibernate(Session session)
                            throws HibernateException, SQLException {
                        // TODO Auto-generated method stub
                        Criteria criteria = session.createCriteria(entityClass);
                        criteria.add(Restrictions.between("date", beginTime,
                                endTime));
                        criteria.setProjection(Projections.rowCount());
                        List results = criteria.list();
                        int total = Integer.parseInt(results.get(0)
                                .toString());
                        return total;
                    }
                });

        return sum;
    }


先上项目测测再说
0
2
分享到:
评论

相关推荐

    jsp+hibernate+oracle出库单模块

    4. **数据记录**:保存完整的出库记录,包括出库时间、申请人、审批人、出库商品等详细信息,方便后期查询和统计。 5. **异常处理**:当出现库存不足、审批未通过等情况时,系统能给出相应的提示和处理方案。 6. *...

    Hibernate各种查询:联表查询 分页查询 位置参数查询(?) 占位符查询(冒号查询) 统计查询

    总的来说,Hibernate的`Criteria`、`Query`以及QBC(Query By Criteria)提供了灵活且强大的查询手段,它们不仅支持基本的单表查询,还能处理复杂的联表、分页、参数绑定和统计需求,是Java开发者进行数据库操作的...

    hibernate caching

    - 主要用于减少在给定事务内需要生成的 SQL 查询数量。 - 例如,如果一个对象在同一事务中被多次修改,Hibernate 只会在事务结束时生成一条包含所有更改的 SQL UPDATE 语句。 ##### 二级缓存 (Second-level Cache...

    Hibernate查询详解

    - **左外连接(LEFT OUTER JOIN)** 返回左表所有记录,即使右表无匹配项。 - **右外连接(RIGHT OUTER JOIN)** 类似左外连接,但以右表为主。 - **全连接(FULL JOIN)** 返回左右表所有记录,包括不匹配的...

    hibernate hql各类查询范例

    - **count()** 方法用于统计满足条件的记录数量。 ### 总结 以上内容涉及了使用 HQL 和 DetachedCriteria 进行查询、参数化查询、执行更新操作以及简单的统计查询等常见的 Hibernate 操作。这些知识点对于理解和...

    hibernate -HQL

    例如,`"select count(*), min(user.age) from User as user"`,可用于获取用户数量和最小年龄等统计数据。 #### 结论 HQL作为Hibernate框架的重要组成部分,以其简洁且强大的语法,为Java开发者提供了灵活多样的...

    基于Java(SpringMVC+Hibernate +MySQL+Maven)的iOS移动设备管理。.zip

    3. 设备统计分析:系统可能会提供设备的使用情况统计,如活跃设备数量、设备分布的系统版本等。 4. 安全管理:可能包括设备的锁定、解锁操作,以及远程擦除功能,以保护数据安全。 5. 日志和报警:系统记录设备的...

    hibernate所用到HQL经典语句大全

    `COUNT(c)`用于统计满足条件的记录数量,返回的结果是`Number`类型,需要转换成具体的数值类型。 - **返回多个字段**: - **Object[] 数组**: ```java List[]> list = session.createQuery("SELECT c.name, c....

    基于Java(SSH)+MySQL实现的(Web)仓库管理系统【100012793】

    库存表记录产品的库存数量和位置信息;流水表用于跟踪每一次出入库操作,包括操作时间、操作员、产品信息和数量变化等。 在实现产品管理功能时,SSH框架使得开发者可以通过定义Action类处理HTTP请求,调用Service层...

    超市进销存系统

    通常会包括以下表:商品表(存储商品信息如ID、名称、价格、供应商等),库存表(跟踪每种商品的数量),进货记录表(记录进货日期、数量、单价等),销售记录表(记录销售日期、商品、数量、总价等)。这些表之间的...

    超市管理系统java程序设计报告图文.doc

    - 出库表和入库表:记录商品的进出库情况,包括时间、数量、操作员等信息。 4. 功能实现: - 登录功能:通过输入用户名和密码进行验证,支持登录失败后的重试和清空输入。 - 主菜单功能:提供多级下拉菜单,涵盖...

    ssh库存管理

    在库存管理中,MySQL用于存储商品信息、库存量、出入库记录等数据,通过优化的表结构和索引设计,能够快速响应库存查询和统计需求。 系统可能包含以下功能模块: 1. 商品管理:添加、修改和删除商品信息,如商品...

    基于ssh的简单进销存

    - **进货管理**:记录商品的进货信息,包括供应商、进货数量、单价等,可能通过Service调用Hibernate操作数据库完成。 - **销售管理**:跟踪商品的销售情况,包括客户信息、销售数量、售价等,同样由Service层处理。...

    仓库管理系统

    常见的表结构可能包括:物资表(存放物资的基本信息,如编号、名称、规格、单位等)、库存表(记录每种物资的当前库存量)、入库单表(记录每次入库的详情)、出库单表(记录每次出库的详情)等。合理的设计数据库...

    北大青鸟 订货系统

    这一过程需要处理商品数量、单价计算、总价统计等细节。 “显示总价”是在用户提交订单前,根据购物车中的商品信息动态计算订单总价,展示给用户,以便用户确认支付。 最后,“查询订单”功能允许用户查看历史订单...

    进销存管理系统-源码

    2. 库存表:记录商品的库存数量,包括入库、出库、结存等状态。 3. 销售订单表:记录销售详情,包括订单ID、客户信息、商品列表、销售日期等。 4. 采购订单表:记录进货信息,包括供应商、商品、数量、价格等。 5. ...

    3.0ssh mvc汽车销售系统

    Hibernate作为持久层框架,简化了数据库操作,通过对象关系映射(ORM)技术将Java对象与数据库中的表进行映射,实现了数据的透明访问。这使得开发人员无需编写大量的SQL语句,提高了开发效率。 在汽车销售系统的...

    J2EE企业级项目开发-1期 任务2-5 实训项目单.doc

    通过Hibernate,可以方便地在Java对象和数据库记录之间建立映射,从而实现对数据的CRUD(创建、读取、更新、删除)操作。 其次,实训任务要求学生掌握分组和排序的SQL用法。分组允许将数据按特定字段归类,例如按...

Global site tag (gtag.js) - Google Analytics