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 stubDetachedCriteria 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項目總結