【编者按】网学网JSP,NET,JAVA类别频道为大家收集整理了“基于SSH的中小企业在线资产管理系统“提供大家参考,希望对大家有所帮助!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
5.2 系统登录模块 系统登录模块是一个对用户身份验证的过程,只有登录成功的用户才可以对系统进行操作,否则不能对系统进行管理。 创建名为UserDao的类,封装对用户及系统级的数据操作,在此类中编写login()方法,用于根据用户名及密码查询用户对象。在用户登录过程中,需要判断数据库中用户对象是否存在,当用户提交登录信息时,调用此方法可返回查询后的用户对象,如果查询不到奖返回null值。 将资产类别的相关请求封装在CategoryAction类中,此类继承了BaseAction对象,所以在对类别信息进行处理时,不必考虑用户是否登录的安全问题。此类中处理添加类别信息请求的方法为add(),由于CategoryAction类是一个DispatchAction对象,所以当请求的参数为add时,将由此方法进行处理。此方法调用了CategoryDao对象的saveOrUpdate()方法,所以资产类别信息的添加与修改操作均可以通过此方法实现;当传递的CategoryForm对象含有id值时,则进行修改操作。 5.3.1 资产信息管理 MedicineDao类是资产对象的数据库操作类继承了SupperDao类,此类主要包含3个方法,分别为loadMedcine()、loadMedcineAndCategory()、findMedicineByMedNo()。其中loadMedcine()、findMedicineByMedNo()方法用于根据资产id及资产编码查询资产信息;loadMedcineAndCategory()方法用于查询资产信息与资产类别信息。loadMedcineAndCategory()方法使用内连接对资产信息表与资产类别表进行联合查询,可以减少SQL语句的数量。 资产实体与资产类别实体存在多对一的关联关系,当同时查看资产信息与资产类别信息时,Hibernate将发出两条SQL语句,分别为查询资产信息的SQL语句与查询资产类别的SQL语句,所以采用内连接将资产信息与资产类别信息一次加载出来,减少SQl语句,提高了数据库的性能。其关键代码如下: public Medicine loadMedicineAndCategory(int id) { Medicine med = null; try { session = HibernateFilter.getSession(); session.beginTransaction(); String hql = "select a from Medicine a join fetch a.category b where a.id = "+ id; med = (Medicine) session.createQuery(hql) .uniqueResult(); session.getTransaction().commit(); } catch (Exception e) { e.printStackTrace(); session.getTransaction().rollback(); } return med; } |
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |