基于J2EEWeb组件技术的课程设计实训项目——《BBS论坛系统》——构建系统持久层中的_第1页
基于J2EEWeb组件技术的课程设计实训项目——《BBS论坛系统》——构建系统持久层中的_第2页
基于J2EEWeb组件技术的课程设计实训项目——《BBS论坛系统》——构建系统持久层中的_第3页
基于J2EEWeb组件技术的课程设计实训项目——《BBS论坛系统》——构建系统持久层中的_第4页
基于J2EEWeb组件技术的课程设计实训项目——《BBS论坛系统》——构建系统持久层中的_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于j2ee web组件技术的课程设计实训项目_bbs论坛系统构建系统持久层中的用户信息管理的dao组件1.1.1构建系统持久层中的用户信息管理的dao组件1、添加封装用户信息的实体基类userlnfobasepo (1)类名称为 userlnfobasepo,包名称为 com. pxl987. webbbs. dao包资.层决口li usermanagedaointe.|jj userlnfomanagelnt.jj userlnfomanc:dwrwebtest io j2eewebapp webbbsj.& .myedipse 曰& sreiify-3? rnmpacka

2、ge com. px 1987. webbbs. dao : + import java. util. arraylist;源文件夹(0) :|webbbs/src* ittirr a z tr*白& pxl987 曰 £ - webbb:田 l > da(包:|com.pxl 987. webbbs. daoexmo0s00sera圍 eautiqj:;:c- & .>.* l±l-:b-厂外层类型(y):浏览(0. | 浏览(恥.|浏览i名称: 修饰符:超类(5): 接口 (ij:(userlnfobasepo公用(e) c缺省(u)r私有(

3、幻厂抽象(i)终态(d厂静态(o pava.lang.objectr受保护(d浏览.|忝加(幻.|除去(b) i想要创建唧些方法存根7public static void main(string args)4 image preview sni靈星謹議齡掏薄垦觀s(=)(5r继承的抽象方法(d)(2)在该userlnfobasepo类中添加下面的个属性private integer id; private string username; private string userpassword; private int usertype; private string aliaonamc;pr

4、ivate string passwordask; private string userlmage; private string registertime; private string passwordanswer; private string usermail; private int usersex; private string userbirthday; private string usercomefrom; private string userresume;(3)为上面的各个属性提供get/set方法2) usermanagedaointe.® userlnfo

5、managelmp.userlnfobaspackage com. px 1987. webbbs. dao : public class userlnf obaseponvate integerprivate string 賜成鵬;private stringprivate int:private string 為jx祕繼:private string 诚奴馳:血feprivate string 腳上u協從:private string取1private string rprivate string 腳xjfeii.;private int 腳工加:private stringprivate

6、 string w縱i尹x9'rivate string u.5xke.sm.ei:薰靈匯g£:l|全部不选(co |选择 getter i 选择 setter(l) ipublic userlnfobasepo ()/ todo自动生成构造函数00000000000000+l:+a:3:a:ss-:r3:s-3:田3:3口 aliaoname ° idpasswordanswerpasswordaskn registertime userbirthday usercomefrom userlmage usermail。username userpasswordd

7、userresume n usersexuser type插入点:i 口 czz-(4) userlnf obasepo类的代码示例package com. pxl987. webbbs. dao; public class usertnfobasepoprivate integer id; private string username;private string userpassword;private int usertype;private string aliaoname;private string passwordask;private string userimage;pri

8、vate string registertime;private string passwordanswer;private string usermail;private int usersex;private string userbirthday;private string usercomefrom;private string userresume;public userlnfobasepoo public string gctaliaonamc() return aliaoname;public void setaliaoname(string aliaoname) this. a

9、liaoname = aliaoname;public integer gettd() return id;public void setld(integer id) this, id = id;public string getpasswordanswer() return passwordanswer;this. passwordanswer = prisswordanswer;public string getpasswordasko return passwordask;public void setpasswordask (string passwordask) this. pass

10、wordask = passwordask;public string getregistertime() return rcgistertimc;public void setregistertime(string registertime) this. registertime = registertime;public string gctuscrbirthday() return userbirthday;public void setuserbirthday(string userbirthday) this.userbirthday = userbirthday;public st

11、ring getusercomefrom() return usercomefrom;public void setusercomeerom(string usercomeerom) this. uscrcomcfrom = uscrcomcfrom;public string getuserlmage() return userimage;this.usertmage = usertmage;public string getusermail() return usermail;public void setusermail(string usermail) this. usermail =

12、 usermail;public string getusername() return uscrnamc;public void setusername(string username) this. username = username;public string gctuscrpassword() return userpassword;public void setuserpassword(string userpassword) this.userpassword = userpassword;public string getuserresume() return userresu

13、me;public void setuserresume(string userresume) this. uscrrcsumc = userresume;public int getusersex() return usersex;this.usersex = usersex;public int getusertype() return usertype;public void setusertype(int usertype) this.usertype = usertype;public boolean equals (object other) if (this = other) r

14、eturn true;if (! (other instanceof userlnfobasepo) return false;return true;2、添加封装用户信息的实体类userlnfopo类 (1)类名称为 userlnfopo,包名称为 com. pxl987. webbbs. dao,并且从 userlnfobasepo类来继承包资源管理器层次结构分:e急usermanagedaointe.userlnfomanagelmp. i彐.o dwrwebtest q j2eewebapp webbbs & .myeclipse 白& sre b& com 日

15、& px: 白> 白新建java类java 类创建新的3%类。源文件夹(b): 包:厂外层类型(y)webbbs/srcpublic void setusername(string usernam2dcom. px 1987. webbbs dao浏览(0). i浏览 i浏览(. i名称(眇:|userinfopo:田白幢饰符:公用(e)r缺省(u)r私有(ar受保护©厂抽象(d r终态(d厂静态(o超类(s):|com. px 1987?webbbs. dao. userlnfobasepo浏览ii 接口 (i):忝加|,j ifl想要创建哪fig方法存根?publi

16、c static void main(5tring args) r来自超类的构造函数(£)j继承的抽象方法(出it «», %z mm z zz z i % z % (2)在该userlnfopo类中添加下面的个属性private map contactmethod = new hashmap(); private string usersign; private int cmailvisiblc; private int acceptadvise;(3)为上面的各个属性提供get/set方法alrivate map private string 似 privat

17、e intrivat e int accept advise:ne' hashmap ():ijpublic userlnf opo ()/ todo自动生成杉生成 getter 和 setter遮择要创建的getter和setterws:.s.:ffln acceptadvise contactmethod emailvisiblen usersign全部不选i选择 getter |选择 setter(l) ijj usermanagedaointe.2) userlnfomanagelmp. jj user inf obasepo. javapackage com. px 1987

18、. webbbs. dao:import j ava. ut il. * :public class user inf opo extends user inf obasepo(4)最后为下面的状态package com. pxl987. webbbs. dao;import java. util.氺;public class userlnfopo extends userlnfobasepo private map contactmethod = new ilashmapo ; private string usersign;private int emailvisible; private

19、 int acceptadvise; public userlnfopo()public int getacceptadvise() return acceptadvise;public void setacceptadvise(int acceptadvise) this-acccptadvisc = acceptadvise;public map getcontactmethod() return contactmethod;public void sctcontactmcthod(map contactmethod)this. contactmethod = contactmethod;

20、public int getemailvisible() return emailvisible;public void setemailvisible(int email visible) this. emailvisible = emailvisible;public string getusersign() return usersign;public void setusersign(string usersign) this. usersign = usersign;public boolean equals (object other) if (this = other) retu

21、rn true;if (! (other instanceof userlnfopo) return false;return true;public void addonecontactmethod(string onecontactmethodkey, string onccontactmethodvaluc) /该方法为“帮助方法”contactmethod. put(onecontactmethodkey, onecontactmethodvalue);public string getonecontactmethod(string onecontactmethodkey) /该方法为

22、“帮助方法”return (string)contactmethod. get(onecontactmethodkey);private set bbslnfos = new hashset () ; /在“一”端(userlnfo)的 po 类中增加一个“多”端(bbsinfo)的集合对象的属性 public set getbbsinfos() return bbslnfos;public void setbbsinfos(set bbslnfos) this, bbslnfos = bbslnfos;public arraylist getbbsinfosbyuser()/利用该方法可以获

23、得该用户所发表的bbs信息 arraylist allbbsinfosbyoneuser=null; allbbsinfosbyoneuser=new arraylist ();java. util. iterator allbbslnfoitemlterator = getbbsinfos (). iterator (); while(allbbslnfoitemlterator. hasnext () bbstnfopo onebbstnfo= (bbstnfopo)al1bbstnfottemtterator. next(); allbbsinfosbyoneuser. add(oneb

24、bsinfo);return allbbsinfosbyoneuser;3、添加封装论坛系统中系统管理员信息的实体adminuserlnfopo类 (1 )类名称为 adminuserlnfopo ,包名称为 com. pxl987. webbbs. dao ,并且从userlnfobasepo 类来继承曰.o dwrwebtest 亡j j2eewebappimport java, util木;public class userlnfopo extends userlnfobasepoweb 昍 s& .myedipr, ru-java 类5b src白& com创建新的ja

25、va类。白java 类源文件夹(b) :webbbs/src®(k):|com.pxl 987. webbbs. dao厂外层类型(y)名称:修饰符:超类(5):接口:浏览(0). |浏览|浏览|adminuserinfopo公用(a r缺省(山c私有厂抽象厂终态(d厂静怒(or受保护(dcom.pxl 987. webbbs. dao. userlnf obasepopublic static void main(string args)浏览(£). |添加.|想要创建哪些方法存根7a ik'' 5r|7匿|邏画麗卿(4117继承的抽象方法(b)(2)在该

26、adminuserlnfopo类中添加下面的个属性private string workunit; private string studyllistory; private string studyschool; private string idcardno;(3)为上面的各个属性提供get/set方法package com. px 1987. webbbs. dao:public class adminuser inf opo extends user inf obasepo.a丄.rivat e private private privatestring 匾string功她脇加:x:s

27、tringstring idc編&q : f 生成 getter 和 setter.inlxlf- public adminuserlnfopoo选择要创建的 getter 和 settertodo自动生成构造函数不甲。 idcardno $ -0。study history 由日。study school 由口 worklinit至部选中全部不选(u |选择 getter i 选择 setter(l) i(4)最后为下面的状态package com. pxl987. webbbs. dao;public class adminuserlnfopo extends userinfoba

28、sepoprivate string workunit; private string studyhistory; private string studyschool; private string idcardno; public adminuserlnfopoo public string getldcardno() return idcardno;public void setidcardno (string idcardno) this. idcardno = idcardno;public string getstudyhistory() return studyhistory;p

29、ublic void sctstudyllistory(string studyhistory)this.studyhistory = studyhistory;public string getstudyschool() return studyschool;public void setstudyschool (string studyschool) this.studyschool = studyschool;public string getworkunit() return workunit;public void sctworkunit(string workunit) this.

30、 workunit = workunit;public boolean equals (object other) if (this = other) return true;if (! (other instanceof adminuserlnfopo) return false;return true;4、添加对用户信息进行管理的dao组件的接口 (1)接口名称为 usermanagedaointerface,包名称为 com. pxl987.webbbs.dao:d dwrwebtest +|- k j2eewebapp 白d webbb5!& .myeclipse罄曰&

31、 sre comjava 接口创建新的接口iaport java. util. * :'war«教建java接口xj& .snn.0|web 昍 5/src浏览(q). |1|com.pxl 987. webbbs. daoi浏览(泌浏览(", |源文件夹(b):e(k):厂外层类型(a:白名称:usermanagedaointerface藝馨1纛黍1白修饰符:公用(a缺省(u) r私有r受保护(d扩展的接口®:添加|險去(b)|日色webroot 田 & bbslnf想要象在当前項&的中配逐的郊榨来恭加注麻吗?厂半甜汰経fw、(2

32、)设计usermanagedaointerface接口中的相关功能方法package com. pxl987. webbbs. dao;import java, util氺;import com. pxl987. webbbs. dao. *;import com. pxl987. webbbs. exception. wcbbbsexccption;public interface usermanagedaointerface/下面的方法是针对userlnfobasepo类的public arraylist selectallbaseuserlnfo() throws webbbsexcep

33、tion; public arraylist selectsomebaseuserlnfo(string hqlselect) throwswcbbbsexccpt i on;/下面的方法是针对usertnfopo类的public arraylist selectalluserlnfo() throws webbbsexception; public arraylist selectsomeuserlnfo(string hqlselect) throwswebbbsexception;public uscrlnfopo sclcctoncuscrlnfo(string rcgistcrusc

34、rid) throwswebbbsexception;webbbsexception;public userlnfopo selectoneuserlnfodata(string username, string userpassword) throws webbbsexception;public boolean insertonel'serinfo(userlnfopo oneregisteruserlnfo) throwswebbbsexception;public boolean updateoneusertnfo(userlnfopo oneupdatedregisterus

35、erlnfo) throws webbbsexception;publicbooleanupdateoneuserpassword(string newpassword,stringregisteruserld) throws webbbsexception;publicbooleandeleteoneuserinfo (string rcgistcruscrid)throwswebbbsexcept!on;public boolean batchdeletel'serinfo(arraylist deleteduserlds) throwswebbbsexcept i on;/下面的

36、方法是针对adminuserlnfopo类的public arraylist sclcctalladminuserlnfo() throws webbbsexception; public arraylist sel ectsomeadminusertnfo(string hqlselect) throwswebbbsexception;public adminuserlnfopo selectoneadminuserlnfo(string adminuserld) throwswebbbsexception;public adminuserlnfopo sclcctoncadminuscrl

37、nfodata(string uscrname, string userpassword) throws webbbsexception;public boolean insertoneadminuserlnfo(adminuserlnfopo oneadminuserlnfo) throws webbbsexception;publicbooleanupdateoneadminuserlnfo(adminuserlnfopooncupdatcdadminuserlnfo) throws webbbsexception;publicbooleandel eteoneadminusertnfo

38、(string admi nusertd) throwswebbbsexception;public boolean batchdeleteadminuserlnfo(arraylist deleteduserlds) throws webbbsexception;3、添加 dao 的接口 usermanagedaointerface 的实现类(1)类名称为 usermanagedaojdbcimple,包名称为 com. pxl987. webbbs. dao层新建java类usermanagedaojdbc. £2 jj usermanagedaointe. 巫)usermana

39、gedacpackage com. px 1987. j 2eeweb. dao :o dwrwebtest j2eewebapp 白webbbs & .myeclipse 曰& src & com日& pxl98' 日& wejava 类创建新的ava类,曰is&& webroot田& bbsinfoma人么隨(2)编程该实现类xj源文件夹(b): 包:厂外层类型(幻|webbb5/srccom.pxl987. webbbs.dao浏览(0). i浏览.i例览.i名称 修饰符:超类(§) 接口:|llserma

40、nagedaojdbcimple公用(ac缺省(c私有r受保护(d厂抽泉(d厂终态(d r静怒(o(javajang.object厂 public static void main(5tring args)17来自超类的构造函数(£)r7猓浴的:kfa免卞体浏览(e).想要创建哪些方法存根7package com. pxl987. webbbs. dao;import java. sql. resultset;import java. sql. sqlexception;import java. util. arraylist;import java. util. map;impor

41、t com. pxl987. webbbs. dao. connectdbbean;import com. pxl987. webbbs. dao. connectdbinterface;import com. pxl987. webbbs. dao. userinfopo;import com. pxl987> webbbs. exception. wcbbbsexccption;import java. sql.氺;public class usermanagedaojdbcimple implements usermanagedaointerfaceprivate java. sq

42、l. connection con二null;connectdbtnterface connectdbbean二null;public usermanagedaojdbcimple() throws webbbsexceptionconnectdbbean=new connectdbbeano;public boolean batchdeleteuscrlnfo(arraylist deletcduserlds) throws webbbsexception return false;public boolean deleteoneuserinfo(int deleteduserld) thr

43、ows webbbsexception return false;public boolean insertoneuserlnfo(userlnfopo oneuserlnfopo) throws webbbsexceptionreturn false;public arraylist selectalluserinfodata() throws webbbsexception return null;public userlnfoposelectoneuserinfodata(stringusername, stringuscrpassword) throws webbbsexception

44、resultset rs=null;userlnfopo oneuserinfo=null;string select_sqlstatement=null;select_sqlstatement=/zselect 氺 from userlnfo where username=, "+ uscrnamc+,/, and uscrpassword=,+userpassword+ ;con二connectdbbean. getconnection (); try java. sql. preparedstatement pstmt =con. preparestatement(select

45、_sqlstatement, resultset. type_scroll_sensitive,resultset. concur_updatable);rs = pstmt. executequery();if (rs. next () oneuser!nfo=new userlnfopoo ;/目前只转换下面的几个属性oncuserlnfo. setusernamc(rs. getstring(username); oneusertnfo. setuserpassword(rs. getstring(userpassword);else oneuserinfo=null;catch(sql

46、exception e) throw new webbbsexception(在查询数据库表时出现错误!,异常的详细内容 为:+e. getmessage ();return oneusertnfo;public arraylist selectsomeuserlnfodata(map wheremap) throws webbbsexception return null;public booleanupdateoneusertnfo(usertnfopooneuserlnfopo) throwswebbbsexception return false;4、添加实现系统数据库连接组件的接口

47、(1)名称为 connectdbinterface,包名称为 com. pxl987. webbbs. dao包.,cz13.$& model 囪& servletusermanagedaojdbcimple.j. £2 ll usermanagedaojdbcimple.j.i>p ort ava. s q丄.bylbxc epti ortt i>port j ava. ut il. arraylist: i>port java, util- map ;由&田& webroot 凶.classpath 圍.mymetadat 凶-p

48、roject webbbs o .myeclipse src參s & com 曰& pxl9白cb7 0 曰cb新建java接口java 接!创建新的接口源文件夹(b): 包厂外层类型(y)|webbb5/srcnoi witt.-c .nrs|com.pxl 987. webbbs. dao2d編丽:浏览(祕.名称(ffi:修饰符:曰£扩展的接口0):|connectdbinfcerface<?公用(e)r缺省(u)c私有(ac受保护(!)(2)设计connectdbinterface接口中的相关功能方法package com. pxl987. webbbs.

49、 dao;import java. sql. connection;public interface conncctdbintcrfacc public connection getconnection(); public void closedbcon();5、为connectdbinterface接口提供实现类 (1)类名称为 connectdbbean,包名称为 com. pxl987. webbbs. daopackage com. px 1987. j 2eeweb. dao : 4 «nnk+ i: lj dwrwebtest j2eewebapp白d webbbs.my

50、edipsei& src新建java类2<jcompx-&白白java 类创建新的卯类,源文件夹(b):|webbbs/srcicom. px 1987. webbbs. dao浏览(q). i浏览(逆).i浏览厂外层类型(o:名称: 5-修饰符:卜ul ii iclluddcoi ir受保护(d白.超类(§): 接口:a-公用(e) r缺备(山c私有厂抽象厂终怒(u厂静怒(£)| java. lang. object浏览i添加(幻|j想要创建哪些方法存根7 厂 public static void main(5tring args)1r莱百超类翻蹦醐

51、,丨-继承的抽象方法(u)厂, . * ' oz 、 .、垂垂(2)编程该实现类 package com. pxl987. webbbs. dao; import java.sql 氺;import com. pxl987. webbbs. dao. connectdbtnterface;import com. pxl987. webbbs. exception. *;public class connectdbbean implements connectdbinterfacestring jdbc_jtds_mssq1server_dbdriver= "net.sourc

52、eforge. jtds. jdbc. driver" string jdbc_mssqlscrvcr_url =jdbc:jtds:sqlserver:/127. 0. 0. 1:1433/bbsdatabase" private java. sql. connection con = null; public connectdbbean() throws webbbsexception try class. fornamc (jdbc_jtds_mssqlscrvcr_dbdrivcr);catch (java. lang. classnotfoundexception

53、 e) /system, out. println (不能正确地加载jdbc驱动程序); throw new webbbsexception (不能正确地加载jdbc驱动程序);try condrivermanager. getconnection(jdbc_mssqlserver_url, "sa", "1234");catch (java. sql. sqlexception e) throw new webbbsexception (不能正确地连接数据库并且出现sqlexceptiort);catch (nullpointerexception e) throw new webbbsexception(不能正确地连接数据库并且出现 nullpointerexception"');public void closedbcon() throws webbbsexceptiontrycon. close ();catch (sqlexception e) throw new webbbsexception("不能正确地关闭数据库连接,异常的详细内容 为:+e. getmessage (

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论