Android翻译公司业务管理系统设计与实现(12)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

Android翻译公司业务管理系统设计与实现(12)


public List<User> getUserByCond(User user){
        String hql = "select user from User user where 1=1 ";
            Map map = new HashMap();
        return (List<User>) userDao.findByHql(hql, map);
    }
这是系统的核心层,主要完成服务的封装。在系统中,我采用 JavaBean 组件实现系统业务逻辑的处理。
数据持久层:我们的操作最终是要与数据库打交道的,对数据库的增、删、改、查等,这些都要依赖数据持久层来完成。其具体执行代码
public PaginationSupport listByPage(String entityName, int currentPage,int pageSize) {
        HibernateTemplate ht = getHibernateTemplate();
        Session session = getSession();
        Integer count = (Integer) session.createQuery("from "+entityName).list().size();
        Query query =session.createQuery("from "+entityName);
         query.setFirstResult((currentPage-1)*pageSize);
         System.out.println("FirstResult:"+(currentPage-1)*pageSize);
         query.setMaxResults(pageSize);
         System.out.println("pageSize"+pageSize);
         List list = query.list();
         System.out.println("List"+list);
        PaginationSupport ps = new PaginationSupport(currentPage,pageSize,list,count);
        ps.setCurrentPageNum(currentPage);
        ps.setPageSize(pageSize);
        return ps;
    }
     该层在程序中体现在于将数据持久层,即调用dao层中的方法对对象持久化。
控制层(Controller):可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以 完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。在Struts2中,控制层就相当于本系统中的Web.xml文件和Struts2.xml文件,它的核心是通过在Web.xml中的过滤器转到Struts.xml文件中其核心代码为:
<filter>
        <filter-name>struts2</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.FilterDispatcher
        </filter-class>
    </filter >
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
而在Struts.xml文件中主要是一种固定的模式action,通过Struts.xml中的name属性告诉程序到底实现哪个具体的action,然后将得到的结果返回到Struts.xml中并通过标签result跳转到另一个jsp。
由于我们用的是Struts2框架,所以我们用Action来控制流程,而不是servlet。
因此,一个模型可能对应多个视图,一个视图可能对应多个模型。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应 反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能。 (责任编辑:qin)