zoukankan      html  css  js  c++  java
  • 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.配置实体类之间的关系没必要都进行配置要根据需求来进行书写

    数据字典与实体类的配置

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

       要根据需求来进行配置

  • 相关阅读:
    你真的懂@ResponseBody和@RequestBody吗?
    Codeforces Beta Round #7 D. Palindrome Degree manacher算法+dp
    hihocoder #1032 : 最长回文子串 Manacher算法
    CSU 1808: 地铁 最短路
    UVALive 6912 Prime Switch 暴力枚举+贪心
    Codeforces Beta Round #9 (Div. 2 Only) D. How many trees? dp
    UVALive 6913 I Want That Cake 博弈+dp
    UVALive
    Codeforces Round #245 (Div. 1) B. Working out dp
    HDU 5834 Magic boy Bi Luo with his excited tree 树形dp
  • 原文地址:https://www.cnblogs.com/fupengpeng/p/6941279.html
Copyright © 2011-2022 走看看