bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

學習EJBCMP/CMR的心得體會(轉(zhuǎn))-創(chuàng)新互聯(lián)

學習EJB CMP/CMR 的心得體會 (轉(zhuǎn))[@more@]

  本人學習EJB也有一年多的時間了,前段時間公司接到一個大的項目才真正的用到,客戶使用的webLOGIC 7.0,數(shù)據(jù)庫用的是sql SERVER 2000,所以我只能正對Weblogic+SQL SERVER 2000的環(huán)境來做說明。XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

為安吉等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及安吉網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、網(wǎng)站設(shè)計、安吉網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

  首先,在Weglogic中配置數(shù)據(jù)源,在Weblogic中有Sql Server 2000的JdbC,所以就可以直接使用,注意,在EJB中一定要使用Tx-Datasource,另外,還要對Sql Server 2000數(shù)據(jù)庫打一個JTA的補丁,這樣才能更好的支持分布式事務(wù)的處理。

  下面,我就對我們系統(tǒng)中的一個認證子系統(tǒng)做一個簡單的介紹,(參考:http://www-900.ibm.com/developerWorks/cn/cnedu.nsf/Java-onlinecourse-bytitle/991A4E2DCA2D6CE148256BCE00135FAE?OpenDocument)我基本上是根據(jù)這個例子來做的。

  在本子系統(tǒng)中,LocalUserBean(實體)用來驗證用戶身份,UserInfoBean(實體)用戶詳細信息,UserGroupBean(實體)用戶分組,LocalRoleBean(實體)用戶角色,UserManageBean(會話)該子系統(tǒng)的唯一遠程接口。

  關(guān)系:LocalUserBean ----- UserInfoBean 是 one2one的單相關(guān)系,UserGroupBean----LocalUserBean是one2many的雙相關(guān)系,LocalUserBean----LocalRoleBean是many2many的雙相關(guān)系。

  LocalUserBean----UserInfoBean:一對一的關(guān)系比較簡單

  LocalUserBean的字段 (CMP)

  public abstract void setEMail(java.lang.String email);

  public abstract void setPw(java.lang.String pw);

  public abstract java.lang.String getEmail();

  public abstract java.lang.String getPw();

  與UserInfo建立關(guān)系 (CMR)

  public abstract void setUserInfo(usermanagesample.UserInfo userInfo);

  public abstractUserInfo getUserInfo();

UserInfoBean的字段 (CMP)

  public abstract void setEmail(java.lang.String email);

  public abstract void setDept(java.lang.String dept);

  public abstract void setName(java.lang.String Name);

  ……

  public abstract java.lang.String getEmail();

  public abstract java.lang.String getDept();

  public abstract java.lang.String getName();

  ……

 由于關(guān)系是單的,所以UserInfoBean沒有CMR字段。

 Weblogic-cmp-rdbms-jar.xml

 

  LocalUser

  WL-TX-SqlServer-DataSource

 

  localuser

 

  email

  EMAIL

 

 

  pw

  PW

 

 

 

UserInfo  WL-TX-SqlServer-DataSource

 

  userinfo

 

  email

  EMAIL

 

 

  dept

  DEPT

 

 

  name

  uname

 

 

 

 

  userInfo-localUser

 

  LocalUserRelationshipRole

 

  localuser

  userinfo

 

  EMAIL

  EMAIL

   

 

 

LocalUserBean中的方法:

ejbCreate(String email,String pw,UserInfoValueobject user){

  setEmail(email);

  setPw(pw)

}

ejbPostCreate(String email,String pw,UserInfoValueObject user){

  Context ctx=new InitialContext();

LocalRoleHome home=(LocalRoleHome)ctx.lookup(“LocalRole”);

home.create(user.getEmail,…………);

}

通過ejbPostCreate的方法,調(diào)用LocalRoleBean的本地接口,同時創(chuàng)建用戶信息,UserInfoValueObject為自己定義的一個用戶信息類,記住,這個類一定要實現(xiàn)java.io. Serializable,因為EJB中要求對象都可以序列化。

UserManage中的方法

添家用戶。添加LocalUser的同時,也添加了UserInfo

  public void addUser(String email, String pw, UserInfoValueObject user) {

  try{

  LocalUser user=userHome.create(email, pw,user);

  }catch(CreateException ce){

  throw new EJBException("創(chuàng)建用戶"+email+"錯誤!",ce);

}

}

刪除用戶。刪除LocalUser的同時,也刪除了UserInfo

public void removeUser(String email){

try{

  userHome.remove(email);

      }catch(CreateException ce){

  throw new EJBException("刪除用戶"+email+"錯誤!",ce);

}

  }

校驗用戶密碼

public boolean verifyUser(String email, String pw) {

  try{

  LocalUser user = userHome.findByPrimaryKey(email);

  return user.getPw().equals(pw);

  }catch(FinderException fe){

  throw new EJBException("校驗用戶"+email+"錯誤!",fe);

  }

  }

LocalUser----LocalRole的關(guān)系為many2many的雙相關(guān)系。

    在開始編寫EJB CMP的時候,由于我對many2many的關(guān)系映射總是失敗,所以在項目當中我都避免出現(xiàn)many2many的關(guān)系,后來發(fā)現(xiàn)EJB中的關(guān)系其實就是實現(xiàn)了數(shù)據(jù)庫中的關(guān)系,所以對數(shù)據(jù)庫的基礎(chǔ)要了解的話,實現(xiàn)起來也不復雜。

LocalRoleBean: (CMP)

  public abstract void setRolename(java.lang.String rolename);

  public abstract void setDescription(java.lang.String description);

  public abstract java.lang.String getRolename();

  public abstract java.lang.String getDescription();

(CMR)

  public abstract java.util.Collection getLocalUser();

  public abstract void setLocalUser(java.util.Collection localUser);

在LocalUserBean中加,因為是many2many的關(guān)系,所以是Collection接口;

  public abstract void setRoletab(java.util.Collection roletab);

  public abstract java.util.Collection getRoletab();

Weblogic-cmp-rdbms-jar.xml

 

  Roletab

  WL-TX-SqlServer-DataSource

 

  roletab

 

  rolename

  ROLENAME

 

 

  description

  DESCRIPTION

 

 

 

  localUser-roletab

  middletab

 

  LocalUserRelationshipRole

 

  middletab

  localuser

 

  localuserid

   EMAIL

 

 

 

 

  RoletabRelationshipRole

 

  middletab

  roletab

 

  roleid

  ROLENAME

 

 

 

 

UserManage中實現(xiàn)的方法(略);

UserGroup----LocalUser是one2many的雙相關(guān)系;

  (CMP)

  public abstract void setName(java.lang.String name);

  public abstract void setDescription(java.lang.String description);

  public abstract java.lang.String getName();

  public abstract java.lang.String getDescription();

  (CMR)

  public abstract java.util.Collection getLocalUser();

  public abstract void setLocalUser(java.util.Collection localUser);

Weblogic-cmp-rdbms-jar.xml

 

  LocalGroup

  WL-TX-SqlServer-DataSource

 

  localgroup

 

  name

  name

 

 

  description

  description

 

 

 

  localUser-localGroup

 

  LocalUserRelationshipRole

 

  localuser

  localgroup

 

  LOCAL_GROUP

  name

 

 

 

 

總結(jié):首先要對EJB CMP/CMR的實現(xiàn)原理充分了解,其次要了解數(shù)據(jù)庫原理中關(guān)系是如何定義的,這樣對于你實現(xiàn)關(guān)系的映射非常有好處,第三,就是要看別人的代碼和例子,多看相關(guān)的介紹文章,多做例子。

由于本人的知識和水平有限,還請大家不吝指教和批評。

我的聯(lián)系方式:hotmail.com">zceast@hotmail.com(msn)

希望能和大家共同探討和學習


分享題目:學習EJBCMP/CMR的心得體會(轉(zhuǎn))-創(chuàng)新互聯(lián)
文章URL:http://vcdvsql.cn/article48/pjoep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)微信小程序用戶體驗外貿(mào)網(wǎng)站建設(shè)網(wǎng)站內(nèi)鏈企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)