erp报表项目

本项目采用的是当前主流三大框架 Spring,Strus2,hebernate整合进行开发。

首先 Strus是一个 mvc框架,主要采用 Servlet和 JSP技术来实现的。

Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。并使用 IOC容器作为构建完关注所有架构层的完整解决方案是独一无二的。

Hibernate是一个开放源代码的对象关系映射框架,它对 JDBC进行了非常轻量级的对象封装,是的 java程序员可以随心所欲的适用对象编程思维来操控数据库。

首先将项目分为 4层,Wbe层,Service层,Dao层,持久层。前端用的是 easyui框架。调用关系是 JSP——>Action——>Service——>DAO——>Hibernate。Hibernate负责持久层,完成数据库的 CRUD操作:

Hibernate有一组 hbm.xml文件和 PO,是与数据库中的表相对应的,然后定义 DAO,这些是与数据库打交道的类。在 hibernate.cfg.xml中配置一些属性,Oracle数据库方言,显示 sql语句方便后台查看,注入实体层对应的映射文件(hbm.xml),本项目目前只有两张表所以建两个实体类对应两个 hbm.xml文件。

Spring负责业务层管理,即 Service: Service为 Action提供统一的调用接口,封装持久层的 DAO,并集成 Hibernate,Spring可对 JavaBean和事物进行统一管理。Spring对应一个applicationContext.xml文 件 , 里 面 注 入 数 据 源 用 的 是 c3p0 连 接 池 , 引 用 这 个LocalSessionFactoryBean得到 sessionfactory。创建事务管理器,管理 sessionFactory(因为所有的 session都是从 sessionFactory获取的)

Struts负责 Web层

ActionFormBean接收网页中表单提交的数据,然后通过 Action进行处理,再 Forward到对应的网页,在 Struts.xml中定义了<action-mapping>,ActionServlet会加载进来。前台页面使用 jquery-easyui的 Layout布局分为北,西,中。里面使用 div进行细致的布局。

本项目的功能一:

显示出货表的信息,因为要在一个页面上显示两张表的部分字段,有两张表所以要进行关联,我使用的多对一,需要在多的 hbm.xml文件里面加<many-to-one>配置相关属性,在多的实体类里面加单一类的对象。

功能二:

根据编号查询只需将前台传入的参数从后台获取然后使用 hql语句进行查询在返回 list转换json给前台解析就 Ok了。
功能三:
根据日期查询需要将查询的结果在前台的日期格式 easyui进行解析不然格式错误。使用 new data().toLocaleString().substring()进行相应截取就可以了。
功能四:
将当前保表信息导出 excel,使用的 ApachePOI函式库进行开发,将 easyui里面的 title信息传给对应的 action,然后将 title信息传给创建的行进行循环就可以得到表头,在将信息表身信息通过数据库查询得到的 list集合循环放入通过 poi创建的行里面的单元格,获取输出流,写入 excel并关闭就可以了。
新加评论 评论标题: