S2SH框架整合教學(xué)教材_第1頁
S2SH框架整合教學(xué)教材_第2頁
S2SH框架整合教學(xué)教材_第3頁
S2SH框架整合教學(xué)教材_第4頁
S2SH框架整合教學(xué)教材_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、Good is good, but better carries it.精益求精,善益求善。S2SH框架整合建立一個Web工程添加Hibernate支持org.hibernate.dialect.Oracle9Dialectjdbc:oracle:thin:7:1521:orclscotttigeroracle.jdbc.driver.OracleDriverOrcl添加Spring框架的支持添加Struts2框架的支持添加struts.xml和web.Xml配置Struts2的容器對象是Spring配置Spring容器,是其在Web容器啟動是實例化ApplicationContextStru

2、tsBlankcontextConfigLocation/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xmlorg.springframework.web.context.ContextLoaderListenerstruts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*index.jsp在Spring中定義Action添加Action類packagecom.ehr.action;importcom

3、.opensymphony.xwork2.ActionSupport;publicclassDeptActionextendsActionSupportStringdeptno;Stringdname;Stringloc;publicStringadddept()throwsExceptionSystem.out.println(DeptAction.adddept();returnsuper.execute();publicStringgetDeptno()returndeptno;publicvoidsetDeptno(Stringdeptno)this.deptno=deptno;pub

4、licStringgetDname()returndname;publicvoidsetDname(Stringdname)this.dname=dname;publicStringgetLoc()returnloc;publicvoidsetLoc(Stringloc)this.loc=loc;在Spring中配置Action阿薩德發(fā)配置Struts2/index.jsp定義Hibernate的持久化類和映射文件packagecom.ehr.po;publicclassJdlongjdid;Stringjdname;Qxqx;publiclonggetJdid()returnjdid;pub

5、licvoidsetJdid(longjdid)this.jdid=jdid;publicStringgetJdname()returnjdname;publicvoidsetJdname(Stringjdname)this.jdname=jdname;publicQxgetQx()returnqx;publicvoidsetQx(Qxqx)this.qx=qx;packagecom.ehr.po;importjava.util.HashSet;importjava.util.Set;publicclassQxlongqxid;Stringqxname;Setjds=newHashSet();

6、publiclonggetQxid()returnqxid;publicvoidsetQxid(longqxid)this.qxid=qxid;publicStringgetQxname()returnqxname;publicvoidsetQxname(Stringqxname)this.qxname=qxname;publicSetgetJds()returnjds;publicvoidsetJds(Setjds)this.jds=jds;PK_idQx_PK_id編寫Dao層代碼packagecom.ehr.dao.impl;importjava.io.Serializable;impo

7、rtjava.sql.SQLException;importjava.util.List;importorg.hibernate.HibernateException;importorg.hibernate.Query;importorg.hibernate.Session;importorg.jruby.runtime.callsite.SuperCallSite;importorg.springframework.orm.hibernate3.HibernateCallback;importorg.springframework.orm.hibernate3.support.Hiberna

8、teDaoSupport;importcom.ehr.dao.IJdDao;importcom.ehr.po.Jd;/*1、自己的業(yè)務(wù)Dao層代碼必須繼承HibernateDaoSupport2、不必管理JDBC(Session)事務(wù),*authorAdministrator*/publicclassJdDaoextendsHibernateDaoSupportimplementsIJdDaopubliclongaddJd(Jdjd)Serializableserializable=super.getHibernateTemplate().save(jd);returnserializable

9、=null?-1:Long.parseLong(serializable.toString();publiclongupdateJd(Jdjd)longl=-1;super.getHibernateTemplate().update(jd);l=1;returnl;publiclongdeleteJd(longjdid)longl=-1;Jdjd=findById(jdid);if(jd!=null)super.getHibernateTemplate().delete(jd);l=1;elseif(jd=null)l=0;returnl;publicJdfindById(longjdid)O

10、bjecto=super.getHibernateTemplate().get(Jd.class,jdid);returno=null?null:(Jd)o;/*如果查詢不涉及Session和Query對象可以直接使用find方法*/publicListfindAll()Stringhql=fromJd;Listljs=super.getHibernateTemplate().find(hql);returnljs;/*如果查詢涉及Session和Query對象那么只能使用回調(diào)機制*/*/publicListfindPagedList(finalintpage,finalintpagesize

11、)finalStringhql=fromJd;Listljs=super.getHibernateTemplate().execute(newHibernateCallback()publicObjectdoInHibernate(Sessionsession)throwsHibernateException,SQLExceptionQueryquery=session.createQuery(hql);query.setFirstResult(1)*pagesize);/頁面序號從1開始returnquery.list(););returnljs;業(yè)務(wù)層代碼packagecom.ehr.se

12、rvice.impl;importjava.util.ArrayList;importjava.util.List;importcom.ehr.dao.IJdDao;importcom.ehr.po.Jd;importcom.ehr.service.IJdService;importcom.ehr.vo.JdVo;publicclassJdServiceimplementsIJdServiceIJdDaojdDao;publiclongaddJd(Jdjd)/數(shù)據(jù)檢查;longl=jdDao.addJd(jd);returnl;publiclongupdateJd(Jdjd)returnjdD

13、ao.updateJd(jd);publiclongdeleteJd(longjdid)returnjdDao.deleteJd(jdid);publicJdVofindById(longjdid)Jdjd=jdDao.findById(jdid);JdVojvo=p2v(jd);returnjvo;publicListfindAll()/得到持久化對象Listljs=jdDao.findAll();/VO/PO分離;Listljvos=p2v(ljs);returnljvos;privateListp2v(Listljs)Listljvos=newArrayList();for(Jdjd:l

14、js)ljvos.add(p2v(jd);returnljvos;privateJdVop2v(Jdjd)JdVojvo=newJdVo();/不是代理對象;jvo.setJdid(jd.getJdid()+);jvo.setJdname(jd.getJdname();jvo.setQxname(jd.getQx().getQxname();returnjvo;publicListfindPagedList(intpage,intpagesize)/得到持久化對象Listljs=jdDao.findPagedList(page,pagesize);/VO/PO分離;Listljvos=p2v(

15、ljs);returnljvos;/*依賴注入IJdDao*paramjdDao*/publicvoidsetJdDao(IJdDaojdDao)this.jdDao=jdDao;編寫Actionpackagecom.ehr.action;importjava.util.List;importcom.ehr.po.Jd;importcom.ehr.service.IJdService;importcom.ehr.vo.JdVo;importcom.opensymphony.xwork2.ActionSupport;publicclassJdActionextendsActionSupportI

16、JdServicejdService;Listljvos;publicStringfindall()throwsExceptionljvos=jdService.findAll();returnsuper.execute();/*僅添加setJdService方法,原因是所有的代理對象都無法被轉(zhuǎn)換json對象*paramjdService*/publicvoidsetJdService(IJdServicejdService)this.jdService=jdService;publicListgetLjvos()returnljvos;配置Spring的事務(wù)定義Session和亂碼過濾器St

17、rutsBlankcontextConfigLocation/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xmlorg.springframework.web.context.ContextLoaderListenerSpringcharacterencodingfilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8Springcharacterencodingfilter/*org.springframework.orm.hibern

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論