时间:2024-05-04
张丹丹
摘要:目前我院使用纸质录入各项耗材物料的出入台帐,该项目打破这一传统的方式,基于eclipse、SQL Server2005、jboss等软件的关联应用,编写出耗材管理的网页式平台。项目编写主要分为服务器端和网页端的代码。本文主要围绕服务器端的代码展开,大至包含数据库链接、excel导入导出的操作包、业务逻辑主要包括:耗材采购、耗材领用、耗材信息、耗材库存等四个封装类。
关键词:耗材管理;数据库链接;耗材信息;eclipse;SQL Server2005;jboss
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2019)31-0027-02
物料管理网页平台使用jbOSS搭载应用服务器,提供客户端动态网页的访问。项目主要功能集中在Java Resources的src文件夹和WebContent文件夹中。如图1所示:
以下主要解析该服务器端的构架过程:
1数据库链接
逻辑业务与相关数据连接放置在Java Resources文件夹下Src文件夹中。
1)Com.db主要实现字符大数据转换字符型和数据库连接的功能。ClobToStringResuhSet类实现字符转换功能,此类中使用ProxyFactory代理工厂实现代理。
2)DBConnection类实现数据库连接。它实现iava.i0.Serial-izable接口,实现了是否连接和关闭连接方法。在getConnection()中,使用上下文Context类,该类在此是jboss与iava间接口,Da-taSource ds=(DataSource)ctx.lookup(IsJDBC)该句通过上下文将相关数据源信息加载至ds,随后再获取连接。
3)接着写了四个数据库查询及处理方法:querySQLO执行SQL语句并返回结果,QreryRunner类协同ResuhSetHandler简化SQL查询和存储过程代码。executeSQL()执行insert delete-update,返回布尔值。executeSQLReturnID()与executeSQL()类似,且返回自动增量。executeBatchSQL()可以执行一连串的sql语句若其中有一条sql出错,就会全部回滚,用了sqlserver的事务回滚。四个方法都用到数据库操作Statement类。
综上所述,con.db是存放数据库连接.java。(1)本段程序先创建DBConnection类,使用序列化接口,便于数据的读写操作。(2)在该类写入getConnection(),因为jboss启动的时候把数据库相关信息加载到上下文中,所以此处通过上下文接口,找到名称对应的数据库。(3)写入ListquerySQL(String lsSql)用来执行sql语句并返回结果集,在此方法中使用DBUtils组件提供的QueryRunner类中query(Connection conn,String sql,Re-suhSetHandler rsh),将数据库中查询的结果存放到list集合中,该方法可以简化sql查询。(4)写入boolean executeSQL(StringlsSql),实现插入、删除、更新操作。首先调用createStatement0创建一个Statement对象,用于将SQL语句发送至数据库,然后使用execute(),执行SQL语句。(5)方法public int executeSQLRetur-nID(String lsSql)调用executeUpdate()返回更新数量。
2excd工具类包
1)Com.excd相关包存放导出导入excel表格业务,如我在ExcelMap类中描述excel标题行列等相关操作;在ExcelOb-iect类中写入excel具体操作如获取、设置单元格内容的方法,iava程序与excel行列号相互转换的方法,删除插入行列方法和其他相关规则等;在ExcdRepo~中写人excel模板报表相关操作,如果需要设置参数,格式为JSON字符串格式,具体可以在相关的Excel模板中设置一个Sheet,可为sheet每一行设一个参数,也可为每个单元格设参数。
2)Com.excel.helper大部分从Apache网站上导人的相关Excel操作包,诸如单元格层的辅助类,行和页面层的辅助类等。
3业务逻辑类
1)Hc.object包为耗材采购类、耗材产品类、耗材库存类、耗材领用类,四个类均封装成了javabean类。每个类都实现java.i0.Serializable接口,用于实现序列化,便于传送和保存到数据库,实现对象持久化。四个类中创建对应数据库表的各字段变量,如耗材编号、耗材名称、库存数量、领用人等变量。
getHccgList(Map param)是根据页面参数param筛选采购清单,如根据起始日期、截止日期、查询内容等查找键值,合成SQL语句执行并返回结果。使用PageList(total_list,liPage,liRows)进行分页,并使用Put()将行字段关联数据库,用于保存页面合计数据。
getHccgDataForm(Map param,HttpSession session)是根据序号提取采购记录。此段程序中,首先判断序号,如果序号为0,则数據库为空,初始化之前封装的耗材采购类,因为该类为.a_vabean,因此使用BeanToMap(oHcCgxx)转换成前端页面支持的map类,并赋初始值。如果序号不为0,则执行相关SQL语句,取出对应的记录,并将相关日期格式规范化即可。根据序号提取采购信息程序如图2。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!