1. 程式人生 > >crm項目總結

crm項目總結

this fff lin 數據字典 數據 template 一個表 調用 類之間的關系

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