各位大侠好!
最近新接手一套系统,用的是Hebernate。但是里面的报表查询我看做的很不好,特别是多表连接查询和大数据量的表查询。
现在想要把原来那些改掉,但是由于我不是很熟Hebernate,看着原来那些人写的总觉得他们用了不合适的工具(相对以前我直接用JDBC 原生SQL 查询感觉更简单明了,效率和可读性都令人满意,多数据库支持不行),但是我不知道Hebernate是否有很高效优雅的方式实现报表查询,所以不知道是否应该继续使用Hebernate合适还是直接上JDBC。
系统的情况大概是几张数据表,每张表数据量在5千万上下(这是一个月的数据,暂时不考虑分开),要完成的主要是明细查看和按时间、数据值等统计。因为要对用户和菜单等进行权限管理,每个表需要连接4、5张权限相关的表。需要考虑树形权限(上级可以看到所有下级)。
PS:我原来是用JDBC,然后自己封装一个报表类,每个不同的报表就继续这个类改写生成SQL的方法,输出一个分行后的List一样的类(包含了总数、列数等相关信息)。感觉还挺简单的,代码重用也不错,新报表写SQL就行。但是对多数据库支持颇为麻烦,所以也想要换掉。
请指教,顺便可以说说一般你们是怎么实现这些简单的常用需求的来参考一下就最好了。谢谢
相关推荐
Java平台提供了多种工具来实现报表制作,其中iReport和JasperReport是非常流行的选择,它们可以与ORM框架Hibernate进行整合,实现动态数据源的报表生成。 1. **iReport与JasperReport** iReport是一款基于Java的...
在报表生成时,我们通常需要从数据库中查询大量数据,Hibernate可以通过其强大的查询语言HQL或者Criteria API,高效地获取并处理数据。它可以减少直接编写SQL带来的复杂性和错误,提高代码的可读性和可维护性。 ...
在这个"struts2.0 hibernate spring 报表实例"中,我们将探讨如何利用这些技术来实现数据的展示和报表生成。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它负责处理HTTP请求,并...
最后,使用 Hibernate 实现报表生成,能够快速地生成各种报表,满足企业的报表需求。 本文详细介绍了在进销存管理系统中使用 Hibernate 的应用与实现,展示了 Hibernate 在企业信息化建设中的重要作用,并为企业...
在实现报表的过程中,Java提供了丰富的API和库来处理数据、生成PDF或Excel等格式的报表。此外,Java的跨平台特性使得基于Java的报表解决方案可以在多种操作系统上无缝运行,增加了其灵活性和适用范围。 ### 报表...
这个项目"struts1.2+spring+hibernate 简单的实现"旨在展示如何整合这三个框架,实现单表和多表的维护,并且包含了一个简单的Excel报表生成功能。 首先,Struts1.2是MVC(模型-视图-控制器)架构模式的一种实现,它...
同时,Hibernate则帮助将这些信息持久化到数据库中,便于日后查询和分析。 在实际开发过程中,为了提高系统的可复用性和灵活性,可以采用Spring框架与Struts和Hibernate结合,实现依赖注入和事务管理。此外,前端...
【标题】:“基于Spring,Hibernate实现的在线商城管理系统”揭示了这个项目是使用Spring框架和Hibernate ORM技术构建的一个电子商务平台。Spring是Java企业级应用开发的首选框架,它提供了全面的依赖注入、面向切面...
这个项目利用了IReport来设计和生成各种类型的报表,同时结合了Spring框架进行业务逻辑管理,以及Hibernate作为数据访问层的工具,实现了与MySQL数据库的交互。 IReport是JasperReports库的一部分,主要用于创建...
总结来说,"学生管理系统 JSP+Struts+hibernate"是一个基于Java技术栈的企业级应用实例,它展示了如何通过JSP处理用户交互,Struts进行业务逻辑控制,以及Hibernate实现数据持久化。这样的组合为开发者提供了一个...
Projection 主要是让 Criteria 能够进行报表查询,并可以实现分组。Projection 主要有 SimpleProjection、ProjectionList 和 Property 三个实现。其中 SimpleProjection 和 ProjectionList 的实例化是由内建的 ...
本项目是一个基于Struts和Hibernate实现的在线商城系统,具有完整的功能和良好的架构设计。 Struts是一个用于构建MVC(Model-View-Controller)架构的框架,它的主要目标是简化Web应用的开发过程,提高代码的可维护...
Project 主要是让 Criteria 能够进行报表查询,并可以实现分组。Project 主要有 SimpleProjection、ProjectionList 和 Property 三个实现。其中 SimpleProjection 和 ProjectionList 的实例化是由内建的 Projections...
14.3 联结、报表查询和子查询 14.3.1 联结关系和关联 14.3.2 报表查询 14.3.3 利用子查询 14.4 小结 第15章 高级查询选项 15.1 利用条件和示例查询 15.1.1 基本的条件查询 15.1.2...
21.5 利用Hibernate的版本控制来实现乐观锁 21.5.1 使用元素 21.5.2 使用元素 21.5.3 对游离对象进行版本检查 21.5.4 强制更新版本 21.6 实现乐观锁的其他方法 21.7 小结 21.8 思考题 第22章 管理...
在Hibernate中,它可能用于生成动态SQL或报表。 4. **mysql-connector-java-5.1.8-bin.jar**:MySQL的JDBC驱动,同样用于数据库连接,这里针对的是MySQL数据库。 5. **c3p0-0.9.1.jar**:C3P0是一个开源的JDBC连接...
在Java Web开发中,Spring MVC和Hibernate是两个非常重要的框架,它们分别负责处理MVC(Model-View-Controller)架构的实现和持久层的操作。而定时任务则常常用于执行一些周期性的后台工作,如数据同步、报表生成等...
例如,可以使用API设置报表样式、添加数据字段、创建复杂的计算公式,以及实现交互式功能如排序、过滤等。API的熟练运用可以使报表更加符合业务需求。 4. **Hibernate集成** Hibernate是一个流行的Java ORM框架,...