首页 > 代码库 > crm项目总结

crm项目总结

1.struts2上传文件

上传文件需要几个条件:

     1.必须是post   还需改变enctype属性 enctype="multipart/form-data"

     2.input  file

     3.在action中配置用于接收的文件,文件名属性及其get  set方法

     4.调用FileUtils.copefile(file1,file2)方法   file1本地文件  file2为存储在服务中的文件

     5.struts2上传文件的大小的限制  2M    通过常量的配置,但是不能根本的解决,struts2中有一种机制超过上传文件大小的配置result  input来指定到错误页面   

2.多对多配置方式

配置hibernate时,缺陷:第三张表只有两个字段

拆分成两个一对多

3.离线对象使用

   1分页

    public List<Custermer> pageBean(int start, int pageRecord) {
        // TODO Auto-generated method stub
        DetachedCriteria criteria=DetachedCriteria.forClass(Custermer.class);
        List<Custermer> list=(List<Custermer>) this.getHibernateTemplate().findByCriteria(criteria, start, pageRecord);
        if(list!=null&&list.size()!=0){
            return list;
        }
        return null;
    }

 

   2.多条件查询 

   

    public List<LinkMan> findContion(LinkMan linkMan) {
        // TODO Auto-generated method stub
        DetachedCriteria criteria=DetachedCriteria.forClass(LinkMan.class);
        if(linkMan.getCustermer().getCid()!=0&&!"".equals(linkMan.getCustermer().getCid())){
            criteria.add(Restrictions.eq("custermer.cid", linkMan.getCustermer().getCid()));
        }
        if(linkMan.getLkmName()!=null&&!"".equals(linkMan.getLkmName())){
            criteria.add(Restrictions.eq("lkmName", linkMan.getLkmName()));
        }
        if(linkMan.getLkmGender()!=null&&!"".equals(linkMan.getLkmGender())){
            criteria.add(Restrictions.eq("lkmGender", linkMan.getLkmGender()));
        }
        return (List<LinkMan>) this.getHibernateTemplate().findByCriteria(criteria);
    }

        

 

4.调用底层sql实现

  由于hibernate模版不能进行复杂的查询,要实现要调用底层的hibernate代码

多表的查询(内连接)   分组查询

1.得到Session

2.创建SQLQuery

3.由于list集合中默认的为数组的形式但是这样取值很不方便  ,所以需要改变他的结果形式   setResultTransacformer(Transacformers的方法)

4.得到list集合

5.BaseDao抽取

1.创建一个接口  接口中有那些需要提取的方法   T指代任意数据类型

2.创建接口的实现类  还要继承HibenrateDaoSupport类

术语:在构造方法中实现

      1.首先得到是正在执行的具体的接口实现类

     2.得到参数类型BaseDaoImple<Custermer>

     3.得到实际参数custermer

3.在具体的接口继承BaseDao接口即可

4.在具体的接口实现类继承BaseDao接口的实现类

6.配置实体类之间的关系没必要都进行配置要根据需求来进行书写

数据字典与实体类的配置

   什么是数据字典呢?通俗来说一些特定的称谓来建一个表来查询

   要根据需求来进行配置

crm项目总结