課件課后練習(xí)代碼-經(jīng)典案例_第1頁
課件課后練習(xí)代碼-經(jīng)典案例_第2頁
課件課后練習(xí)代碼-經(jīng)典案例_第3頁
課件課后練習(xí)代碼-經(jīng)典案例_第4頁
課件課后練習(xí)代碼-經(jīng)典案例_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余94頁可下載查看

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

JavaHibernateNETCTOSS中的費(fèi)用表實(shí)現(xiàn)增刪主鍵生成方式 類重構(gòu)“NETCTOSS登錄檢查器”案新建項(xiàng)目

圖- <?xmlversion='1.0'encoding='UTF-<!DOCTYPEhibernate-configuration"-//Hibernate/HibernateConfigurationDTD"<!--GeneratedbyMyEclipseHibernate --<hibernate-<session-<property<property<property<property<property<!--將hibernate底層執(zhí)行的sql<property<property</session-POJO類表示普通類(PlainOrdinaryOldObject),沒有格式的類,只有屬性和對(duì)應(yīng)的packageimportpublicclassFeeprivateIntegerid;//資費(fèi)privateStringfeeName;//資費(fèi)名稱privateIntegerbaseDuration;//基本時(shí)長(zhǎng)privateFloatbaseCost;//基本定費(fèi)privateFloatunitCost;//單位費(fèi)用privateStringstatus;//0:開通;1privateStringdescr;//資費(fèi)信息說明privateDatecreateTime;//創(chuàng)建日期privateDatestartTime;//啟用日期privateStringcostTypepublicDategetCreateTime()return publicvoidsetCreateTime(DatecreateTime)this.createTime= publicDategetStartTime()return}publicvoidsetStartTime(Date{this.startTime=}publicStringgetCostType()return}publicvoidsetCostType(String{this.costType=}publicIntegergetId()return}publicvoidsetId(Integerid)this.id=}publicpublicStringgetFeeName() return publicvoidsetFeeName(StringfeeName)this.feeName=}publicIntegergetBaseDuration()return}publicvoidsetBaseDuration(Integer{this.baseDuration=}publicFloatgetBaseCost()return}publicvoidsetBaseCost(FloatbaseCost)this.baseCost=}publicFloatgetUnitCost()return}publicvoidsetUnitCost(FloatunitCost)this.unitCost=}publicStringgetStatus()return}publicvoidsetStatus(Stringstatus)this.status=}}publicStringgetDescr()return}publicvoidsetDescr(Stringdescr)this.descr=}}新建文件<?xmlversion="1.0"encoding="utf-<!DOCTYPEhibernate-"PUBLIC"-//Hibernate/HibernateDTD<hibernate-><classname="ctoss.pojo.Fee"<idname="id"column="ID"<generator<param<propertyname="feeName"column="NAME"<propertyname="baseDuration"column="BASE_DURATION"<propertyname="baseCost"column="BASE_COST"<propertyname="unitCost"column="UNIT_COST"<propertyname="status"<propertyname="descr"column="DESCR"<propertyname="costType"<propertyname="createTime"column="CREATIME"<propertyname="startTime"column="STARTIME">createsequence<?xmlversion='1.0'encoding='UTF-hibernate-configuration"-//Hibernate/HibernateConfigurationDTD3.0//EN"<!--GeneratedbyMyEclipseHibernate<hibernate<session-<propertyname="dialect"><propertyname="connection.url"><property<property<propertyname="connection.driver_class"><!--將hibernate底層執(zhí)行的sql<property<property</session-packageimportimportorg.hibernate.SessionFactory;importorg.hibernate.cfg.Configuration;publicclassHibernateUtilprivatestaticSessionFactorysf;Configurationconf=new//獲取sf=}publicstaticSession//獲取Sessionsession=sf.openSession();returnsession;}}是共享的。packageclassTestFeeDAOpublicstaticvoidmain(String[] *publicstaticvoidFeefee=new Sessionsession=Transactiontx=}}(NAME,BASE_DURATION,BASE_COST,UNIT_COST,STATUS,DESCR,(?,?,?,?,?,?,?,?,?, packageclassTestFeeDAOpublicstaticvoidmain(String[] *publicstaticvoidSessionsession=Feefee=System.out.println(fee.getId()+"}*publicstaticvoidFeefee=new Sessionsession=Transactiontx=}}fee0_.IDasID0_0_,fee0_.NAMEasNAME0_0_,fee0_.BASE_DURATIONasBASE3_0_0_,fee0_.BASE_COSTasBASE4_0_0_,fee0_.UNIT_COSTasUNIT5_0_0_,fee0_SDETCT0S0_,_,fee0_.COST_TYPEasCOST8_0_0_,fee0_.CREATIMEasCREATIME0_0_,fee0_.STARTIMEasSTARTIME0_0_COST packageclassTestFeeDAOpublicstaticvoidmain(String[]// *publicstaticvoidSessionsession=Feefee=System.out.println(fee.getId()+" *publicstaticvoidfee.setCreateTime(newSessionsession=Transactiontx=Feefee=(Fee)session.load(Fee.class,fee.setStartTime(new}*publicstaticvoidFeefee=newfee.setCreateTime(newSessionsession=Transactiontx=}}fee0_.IDasID0_0_,fee0_.NAMEasNAME0_0_,fee0_.BASE_DURATIONasfee0_.BASE_COSTasfee0_.UNIT_COSTasfee0_.STATUSasfee0_.DESCRasfee0_.COST_TYPEasfee0_.CREATIMEasfee0_.STARTIMEasCOSTpackageclassTestFeeDAOpublicstaticvoidmain(String[] }*publicstaticvoidSessionsession=Feefee=System.out.println(fee.getId()+"System.out.println(fee.getBaseDuration()+" *publicstaticvoid Sessionsession=Transactiontx=Feefee=(Fee)session.load(Fee.class,fee.setStartTime(new *publicstaticvoidStringhql="fromSessionsession=Queryquery=List<Fee>list=for(Feefee:System.out.println(fee.getId()+" *publicstaticvoidFeefee=new fee.setCreateTime(newSessionsession=Transactiontx= "fromUser"是Hibernate提供的面向?qū)ο蟮牟樵冋Z言:HQL(HibernateQueryLanguage)語言。刪除指定ID的packageimportimportimportimportimportimportimportpublicclassTestFeeDAOpublicstaticvoidmain(String[] *publicstaticvoidSessionsession=Feefee=System.out.println(fee.getId()+"}*publicstaticvoidfee.setCreateTime(newSessionsession=Transactiontx=Feefee=(Fee)session.load(Fee.class,fee.setStartTime(new}*publicstaticvoidSessionsession=Feefee=newTransactiontx=}*publicstaticvoidStringhql="fromSessionsession=Queryquery=List<Fee>list=for(Feefee:} *publicstaticvoidFeefee=new fee.setCreateTime(newSessionsession=Transactiontx=

fee0_.IDasID0_,fee0_.NAMEasNAME0_,fee0_.BASE_DURATIONasBASE3_0_,fee0_.BASE_COSTasBASE4_0_,fee0_.UNIT_COSTasUNIT5_0_,fee0_.STATUSasSTATUS0_,fee0_.DESCRasDESCR0_,fee0_.COST_TYPEasCOST8_0_,fee0_.CREATIMEasCREATIME0_,fee0_.STARTIMEasSTARTIME0_COST181包月15.9元套餐6.98.510.5182包月161包月162包月<?xmlversion='1.0'encoding='UTF-<!DOCTYPEhibernate-configuration"-//Hibernate/HibernateConfigurationDTD3.0//EN"--<!--GeneratedbyMyEclipseHibernate<hibernate-<session-<property<propertyname="connection.url"><property<property<!--將hibernate底層執(zhí)行的sql<property<propertyresource="com/tarena/netctoss/pojo/Fee.hbm.xml"</session-packageimportimportorg.hibernate.SessionFactory;importorg.hibernate.cfg.Configuration;publicclassHibernateUtilprivatestaticSessionFactorysf;Configurationconf=new//獲取sf=}publicstaticSession//獲取Sessionsession=return}}packagepackageimport{publicclassprivateIntegerid;//資費(fèi)privateStringfeeName;//資費(fèi)名稱privateIntegerbaseDuration;//基本時(shí)長(zhǎng)privateFloatbaseCost;//基本定費(fèi)privateFloatunitCost;//單位費(fèi)用privateStringstatus;//0:開通;1:privateStringdescr;privateDatecreateTime;//創(chuàng)建日期privateDatestartTime;//啟用日期privateStringcostTypepublicDategetCreateTime()return}publicvoidsetCreateTime(Date{this.createTime=}publicDategetStartTime()return publicvoidsetStartTime(Date{this.startTime=}publicStringgetCostType()return}publicvoidsetCostType(String{this.costType=}publicIntegergetId()return}publicvoidsetId(Integerid)this.id=}publicStringgetFeeName()return}publicvoidsetFeeName(StringfeeName)this.feeName=}publicIntegergetBaseDuration()return}publicvoidsetBaseDuration(Integer{this.baseDuration=}}publicFloatgetBaseCost()return publicvoidsetBaseCost(FloatbaseCost)this.baseCost= publicFloatgetUnitCost()return publicvoidsetUnitCost(FloatunitCost)this.unitCost= publicStringgetStatus()return publicvoidsetStatus(Stringstatus)this.status= publicStringgetDescr()return}publicvoidsetDescr(Stringdescr)this.descr=}}<?xmlversion="1.0"encoding="utf-<!DOCTYPEhibernate-PUBLIC"-//Hibernate/HibernateDTD <hibernate- <classname="ctoss.pojo.Fee"<idname="id"column="ID"<generator<param<propertyname="feeName"<propertyname="baseDuration"<propertyname="baseCost"<propertyname="unitCost"<propertyname="status"<propertyname="descr"<propertyname="costType"<propertyname="createTime"<propertyname="startTime"</class> packageclassTestFeeDAOpublicstaticvoidmain(String[] *publicstaticvoidfee.setCreateTime(newSessionsession=Transactiontx=Feefee=(Fee)session.load(Fee.class,fee.setStartTime(new}*publicstaticvoidSessionsession=Feefee=newTransactiontx=}*publicstaticvoidSessionsession=Feefee=System.out.println(fee.getId()+"System.out.println(fee.getBaseDuration()+"}*publicstaticvoidStringhql="fromSessionsession=Queryquery=List<Fee>list=for(Feefee:System.out.println(fee.getId()+" *publicstaticvoidFeefee=new fee.setCreateTime(newSessionsession=Transactiontx= 新建項(xiàng)目

圖- <?xmlversion='1.0'encoding='UTF-hibernate-configuration"-//Hibernate/HibernateConfigurationDTD3.0//EN"<!--GeneratedbyMyEclipseHibernate<hibernate<session-<!--<propertyname="connection.url"><property<property<property<propertyname="dialect"><property<property</session-新建packageimportimportorg.hibernate.SessionFactory;importorg.hibernate.cfg.Configuration;publicclassHibernateUtilprivatestaticSessionFactoryConfigurationconf=new//獲取sf=}publicstaticSession//獲取Sessionsession=sf.openSession();returnsession;}}packageimportimportpublicclassFooprivateintprivateStringprivatedoubleprivateDateprivateTimestampprivatebooleanmarry;publicintgetId()return publicvoidsetId(intid)this.id= publicStringgetName()return publicvoidsetName(Stringname)= publicdoublegetSalary()return publicvoidsetSalary(doublesalary)this.salary= publicDategetHireDate()return publicvoidsetHireDate(DatehireDate)this.hireDate= publicTimestampgetLastLoginTime()return publicvoidsetLastLoginTime(TimestamplastLoginTime)this.lastLoginTime= publicbooleanisMarry()return publicvoidsetMarry(booleanmarry)this.marry= ###########t_fooCREATETABLEt_foo t_last_login_timeNOTNULLNOTNOTNULL,NOTNOTNOTPRIMARYKEY)ENGINE=InnoDBdefault <?xmlversion="1.0"encoding="utf-<!DOCTYPEhibernate- PUBLIC"-//Hibernate/Hibernate DTD <hibernate- <classname="ctoss.pojo.Foo"<idname="id"column="t_id"<generator<propertyname="name"<propertyname="salary"<propertyname="hireDate"<propertyname="lastLoginTime"<propertyname="marry"</class> 主鍵生成方式packageclassTestFoopublicstaticvoidmain(String[] publicstaticvoidSessionsession=Foofoo=(Foo)session.get(Foo.class, publicstaticvoidFoofoo=newSessionsession=Transactiontx=}}foo.setHireDate(newDate(System.currentTimeMillis()));foo.setLastLoginTime(newTimestamp((t_name,t_salary,t_hire_date,t_last_login_time,t_marry)(?,?,?,?,foo0_.t_idast1_0_0_,foo0_.t_nameast2_0_0_,foo0_.t_salaryast3_0_0_,foo0_.t_hire_dateast4_0_0_,foo0_.t_last_login_timeast5_0_0_,foo0_.t_marryast6_0_0_t_foo2013-06-2013-06-04圖-主鍵生成方法/<?xmlversion='1.0'encoding='UTF-<!DOCTYPEhibernate-configuration"-//Hibernate/HibernateConfigurationDTD3.0//EN"<!--GeneratedbyMyEclipseHibernate<hibernate<session-<session-<propertyname="dialect"><propertyname="connection.url"><propertyname="connection.username">task</pperty><property<!--將hibernate底層執(zhí)行的sql<?xmlversion="1.0"encoding="utf-<!DOCTYPEhibernate-"PUBLIC"-//Hibernate/HibernateDTD<hibernate-><classname="ctoss.pojo.Foo"<idname="id"column="t_id"<!--用來指明主鍵的生成方式<generator<param<propertyname="name"<propertyname="salary"column="t_salary"<propertyname="hireDate"<propertyname="lastLoginTime"column="t_last_login_time"<propertyname="marry"column="t_marry">(t_name,t_salary,t_hire_date,t_last_login_time,t_marry,t_id)(?,?,?,?,?,foo0_.t_idasfoo0_.t_nameast2_0_0_,foo0_.t_salaryast3_0_0_,foo0_.t_hire_dateasfoo0_.t_last_login_timeast5_0_0_,foo0_.t_marryast6_0_0_t_foo2013-06-2013-06-04<!--用來指明主鍵的生成方式<generator<paramname="sequence">foo_seq</param>是不起作用的,但也不會(huì)出錯(cuò);<paramname="sequence">foo_seq</param>就會(huì)起作用,<!--用來指明主鍵的生成方式<generator(t_name,t_salary,t_hire_date,t_last_login_time,t_marry,t_id)(?,?,?,?,?,increment生成主鍵方式是先“selectmax(t_id)fromt_foo“,從t_foo中找到最大的id,之后將max(t_id)加1,這樣就保證了主鍵唯一。但是這樣有風(fēng)險(xiǎn),當(dāng)并發(fā)時(shí)會(huì)有風(fēng)險(xiǎn),不建議使<generator###########t_fooCREATETABLEt_foodouble(9,2)t_last_login_timeNOTNULLNOTNOTNULL,NOTNOTNOTPRIMARYKEY)ENGINE=InnoDBdefault###########t_fooCREATETABLEt_fooNOTNULLNOTNULL,NOTNULL,NOTt_last_login_timeNOTNOTPRIMARYKEYpackageimportimportpublicclassFooprivateintprivateStringprivatedoubleprivateDateprivateTimestampprivatebooleanmarry;publicintgetId()return publicvoidsetId(intid)this.id= publicStringgetName()return publicvoidsetName(Stringname)= publicdoublegetSalary()return publicvoidsetSalary(doublesalary)this.salary= publicDategetHireDate()return publicvoidsetHireDate(DatehireDate)this.hireDate= publicTimestampgetLastLoginTime()return publicvoidsetLastLoginTime(TimestamplastLoginTime)this.lastLoginTime= publicbooleanisMarry()return publicvoidsetMarry(booleanmarry)this.marry= <?xmlversion="1.0"encoding="utf-<!DOCTYPEhibernate-"PUBLIC"-//Hibernate/HibernateDTD<hibernate-><classname="ctoss.pojo.Foo"<idname="id"column="t_id"<!-<generator --<!-<generator<param--<!-<generator--<!-<generator--<!-<generator--<propertyname="name"<propertyname="salary"<propertyname="hireDate"<propertyname="lastLoginTime"<propertyname="marry"</class>

packageimportorg.hibernate.Session;importorg.hibernate.SessionFactory;importpublicclassHibernateUtilprivatestaticSessionFactoryConfigurationconf=new//獲取sf=}publicstaticSession//獲取Sessionsession=sf.openSession();returnsession;}}<?xmlversion='1.0'encoding='UTF-<!DOCTYPEhibernate-configuration"-//Hibernate/HibernateConfigurationDTD3.0//EN"--<!--GeneratedbyMyEclipseHibernate<!-<hibernate-<session-<property<property<property<property<property<property<property<map</session<hibernate-<session-<property<property<property<property<property<!--將hibernate底層執(zhí)行的sql<property<property </session-</session-圖-創(chuàng)建

圖-<?xmlversion="1.0"encoding="utf-<!DOCTYPEhibernate-"PUBLIC"-//Hibernate/HibernateDTD<hibernate-><classname="ctoss.pojo.Fee"<idname="id"column="ID"<generator<param<propertyname="feeName"column="NAME"<propertyname="baseDuration"<propertyname="baseCost"column="BASE_COST"<propertyname="unitCost"<propertyname="status"column="STATUS"<propertyname="descr"<propertyname="costType"column="COST_TYPE"<propertyname="createTime"column="CREATIME"<propertyname="startTime"column="STARTIME">創(chuàng)建<?xmlversion='1.0'encoding='UTF-hibernate-configuration"-//Hibernate/HibernateConfigurationDTD3.0//EN"<!--GeneratedbyMyEclipseHibernate<hibernate<session-<propertyname="dialect"><propertyname="connection.url"><property<property<propertyname="connection.driver_class"><!--將hibernate底層執(zhí)行的sql<property<propertyresource="com/tarena/netctoss/pojo/Fee.hbm.xml"</session-修改FeeDAO,修改update方法,findById方法,deleteById方法,使用HibernatepackageprivatestaticfinalStringfindAll"selectID,NAME,BASE_DURATION,BASE_COST,UNIT_COST,CREATIME,ST"selectrownumr,ID,NAME,BASE_DURATION,BASE_COST,UNIT_COSTimportimportimportimportimportimportimportimportimportimportimportpublicclassFeeDAO"wherea.r>?privatestaticfinalStringgetTotalPages="selectcount(*)fromprivatestaticfinalStringfindByName="selectID,NAME, privatestaticfinalStringfindById="selectID,NAME, privatestaticfinalStringdeleteById="deletefromCOSTwhere privatestaticfinalStringupdate="updateCOSTset +"DESCR=?,COST_TYPE=?wherepublicvoidupdate(FeeSessionsession=Transactiontx=fee.setCreateTime(new publicFeefindById(intSessionsession=Feefee=(Fee)session.get(Fee.class,return publicFeefindByName(StringConnectioncon=PreparedStatementstmt=ResultSetrs=trycon=stmt=stmt.setString(1,rs=Feefee=if(rs.next())fee=new}return}catch(Exceptione)thrownew}finally{}}publicvoiddeleteById(int//創(chuàng)建feeFeefee=newSessionsession=Transactiontx=}blicintgetTotalPages(intpageSize)Connectioncon=PreparedStatementstmt=ResultSetrs=trycon=stmt=rs=inttotalRows=if(totalRows%pageSize==0)returntotalRows/}elsereturntotalRows/pageSize+}}catch(Exceptione)thrownew}finally{}}publicList<Fee>findAll(intpage,int{Connectioncon=PreparedStatementstmt=ResultSetrs=trycon=stmt=intbegin=(intend=stmt.setInt(1,stmt.setInt(2,rs=List<Fee>list=newwhile(rs.next())Feefee=new }return}catch(Exceptione)145.}}},如圖-6圖-圖-圖-圖-<?xmlversion="1.0"encoding="utf-<!DOCTYPEhibernate-"PUBLIC"-//Hibernate/HibernateDTD<hibernate-><classname="ctoss.pojo.Fee"<idname="id"column="ID"<generator<param<propertyname="feeName"column="NAME"<propertyname="baseDuration"column="BASE_DURATION"<propertyname="baseCost"<propertyname="unitCost"<propertyname="status"<propertyname="descr"<propertyname="costType"<propertyname="createTime

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論