欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Eclipse快速上手EJB -- 4. 多對多的單向關系的C

系統 1688 0

這個系列文章我是根據 Rick Hightower 發表在 IBM 網站的文章 EJB - CMP/CMR 介紹》 改編而成的,這是一個系列,共有4篇文章。這篇文章綜合了那4篇文章,看這篇文章前一定要參考一下,這樣理解起來很方便,不過我做了部分修改,原理基本還是不變的。關于 CMP 方面的知識我不說了,我這里只是介紹如何使用 Lomboz 和 JBoss-IDE 在Eclipse 中開發 CMP。
這篇文章主要講述如何開發多對多的單向聯系,這里設計了一個RoleBean,和UserBean建立聯系,由UserBean控制RoleBean。重點放在如何使用XDoclet建立多對多的單向聯系,客戶端的調用比較簡單。
這篇文章是由《 Eclipse快速上手EJB -- 2. 設計一個實體Bean 》、《 Eclipse快速上手EJB -- 3. 設計一對一的雙向關系的CMR(1) 》延伸而來。所以,必須要有這兩篇文章的基礎才行
關于環境配置、使用技巧還是要參考我以前的文章,這里盡量省略。
一、設計實體Bean :RoleBean
1. 建立主體部分:
在 CMP_Sample 項目中,右擊“src” ->新建 ->Lomboz EJB Creation Wizard :
· 包(K) :javamxj.ejb.cmp
· 名稱(M): Role
· EJB Type:選擇ContainerManaged EntityEJB
點擊下一步。
● Schema Name: RoleSchema
Table Name: RoleTable
增加一個 name 欄:
· Field: name
· Field Type: java.lang.String
· Database Column: 權限名稱
· SQL Type: varchar
并且使它成為主鍵
同樣,再增加一個 description 欄:
· Field: description
· Field Type: java.lang.String
· Database Column: 權限描述
· SQL Type: varchar
效果如下,最后點擊完成。
注意 :如上篇文章一樣,將生成代碼中的 sql-type="varchar" 改寫成 sql-type="varchar(xy)" ,xy是一個合適的VARCHAR 的位數。
2. 完成 ejbCreate 和 ejbPostCreate 方法:
3. 在類標記中加入以下標記:
下面給出了RoleBean.java的完整的源代碼:

RoleBean.java

                              
                                /*
                              
                              
                                 * 創建日期 2005-1-25
                              
                              
                                 *
                              
                              
                                 * 作者:javamxj(分享java快樂)
                              
                              
                                 */
                              
                              
                                package
                              
                              
                                 javamxj
                              
                              
                                .
                              
                              
                                ejb
                              
                              
                                .
                              
                              
                                cmp
                              
                              
                                ;
                              
                              
                                /**
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                              
                              
                                *
                              
                              
                                 <!
                              
                              
                                -
                              
                              
                                -
                              
                              
                                 begin
                              
                              
                                -
                              
                              
                                user
                              
                              
                                -
                              
                              
                                doc 
                              
                              
                                -
                              
                              
                                -
                              
                              
                                > You can insert your documentation for '
                              
                              
                                <em>
                              
                              
                                <b>
                              
                              
                                RoleBean
                              
                              
                                </b>
                              
                              
                                </em>
                              
                              
                                '. <!
                              
                              
                                -
                              
                              
                                -
                              
                              
                                 end
                              
                              
                                -
                              
                              
                                user
                              
                              
                                -
                              
                              
                                doc 
                              
                              
                                -
                              
                              
                                -
                              
                              
                                > 
                              
                              
                                *
                              
                              
                              
                              
                                 <!
                              
                              
                                -
                              
                              
                                -
                              
                              
                                  begin
                              
                              
                                -
                              
                              
                                lomboz
                              
                              
                                -
                              
                              
                                definition 
                              
                              
                                -
                              
                              
                                -
                              
                              
                                >
                              
                              
                                 <?xml version="
                              
                              
                                1.0
                              
                              
                                " encoding="UTF
                              
                              
                                -
                              
                              
                                8
                              
                              
                                "?>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                EJB xmlns
                              
                              
                                :
                              
                              
                                j2ee="
                              
                              
                                http://java.sun.com/xml/ns/j2ee
                              
                              
                                " xmlns
                              
                              
                                :
                              
                              
                                lomboz="
                              
                              
                                http://lomboz.objectlearn.com/xml/lomboz
                              
                              
                                ">
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                entity>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                entityEjb>
                              
                              
                                 <j2ee
                              
                              
                                :
                              
                              
                                display
                              
                              
                                -
                              
                              
                                name>Role<
                              
                              
                                /
                              
                              
                                j2ee
                              
                              
                                :
                              
                              
                                display
                              
                              
                                -
                              
                              
                                name>
                              
                              
                                 <j2ee
                              
                              
                                :
                              
                              
                                ejb
                              
                              
                                -
                              
                              
                                name>Role<
                              
                              
                                /
                              
                              
                                j2ee
                              
                              
                                :
                              
                              
                                ejb
                              
                              
                                -
                              
                              
                                name>
                              
                              
                                 <j2ee
                              
                              
                                :
                              
                              
                                ejb
                              
                              
                                -
                              
                              
                                class>javamxj
                              
                              
                                .
                              
                              
                                ejb
                              
                              
                                .
                              
                              
                                cmp
                              
                              
                                .
                              
                              
                                RoleBean<
                              
                              
                                /
                              
                              
                                j2ee
                              
                              
                                :
                              
                              
                                ejb
                              
                              
                                -
                              
                              
                                class>
                              
                              
                                 <j2ee
                              
                              
                                :
                              
                              
                                persistence
                              
                              
                                -
                              
                              
                                type>Container<
                              
                              
                                /
                              
                              
                                j2ee
                              
                              
                                :
                              
                              
                                persistence
                              
                              
                                -
                              
                              
                                type>
                              
                              
                                 <j2ee
                              
                              
                                :
                              
                              
                                prim
                              
                              
                                -
                              
                              
                                key
                              
                              
                                -
                              
                              
                                class>java
                              
                              
                                .
                              
                              
                                lang
                              
                              
                                .
                              
                              
                                String<
                              
                              
                                /
                              
                              
                                j2ee
                              
                              
                                :
                              
                              
                                prim
                              
                              
                                -
                              
                              
                                key
                              
                              
                                -
                              
                              
                                class>
                              
                              
                                 <j2ee
                              
                              
                                :
                              
                              
                                cmp
                              
                              
                                -
                              
                              
                                version>
                              
                              
                                2.
                              
                              
                                x<
                              
                              
                                /
                              
                              
                                j2ee
                              
                              
                                :
                              
                              
                                cmp
                              
                              
                                -
                              
                              
                                version>
                              
                              
                                 <j2ee
                              
                              
                                :
                              
                              
                                abstract
                              
                              
                                -
                              
                              
                                schema
                              
                              
                                -
                              
                              
                                name>RoleSchema<
                              
                              
                                /
                              
                              
                                j2ee
                              
                              
                                :
                              
                              
                                abstract
                              
                              
                                -
                              
                              
                                schema
                              
                              
                                -
                              
                              
                                name>
                              
                              
                                 <j2ee
                              
                              
                                :
                              
                              
                                primkey
                              
                              
                                -
                              
                              
                                field>name<
                              
                              
                                /
                              
                              
                                j2ee
                              
                              
                                :
                              
                              
                                primkey
                              
                              
                                -
                              
                              
                                field>
                              
                              
                                 <
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                entityEjb>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                fieldMappings>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                fieldName>name<
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                fieldName>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                fieldType>java
                              
                              
                                .
                              
                              
                                lang
                              
                              
                                .
                              
                              
                                String<
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                fieldType>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                columnName>權限名稱<
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                columnName>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                jdbcType>VARCHAR<
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                jdbcType>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                sqlType>varchar<
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                sqlType>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                readOnly>false<
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                readOnly>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                primaryKey>true<
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                primaryKey>
                              
                              
                                 <
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                fieldMappings>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                fieldMappings>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                fieldName>description<
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                fieldName>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                fieldType>java
                              
                              
                                .
                              
                              
                                lang
                              
                              
                                .
                              
                              
                                String<
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                fieldType>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                columnName>權限描述<
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                columnName>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                jdbcType>VARCHAR<
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                jdbcType>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                sqlType>varchar<
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                sqlType>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                readOnly>false<
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                readOnly>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                primaryKey>false<
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                primaryKey>
                              
                              
                                 <
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                fieldMappings>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                tableName>RoleTable<
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                tableName>
                              
                              
                                 <lomboz
                              
                              
                                :
                              
                              
                                dataSourceName><
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                dataSourceName>
                              
                              
                                 <
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                entity>
                              
                              
                                 <
                              
                              
                                /
                              
                              
                                lomboz
                              
                              
                                :
                              
                              
                                EJB>
                              
                              
                                 <!
                              
                              
                                -
                              
                              
                                -
                              
                              
                                  end
                              
                              
                                -
                              
                              
                                lomboz
                              
                              
                                -
                              
                              
                                definition 
                              
                              
                                -
                              
                              
                                -
                              
                              
                                >
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                              
                              
                                *
                              
                              
                                 <!
                              
                              
                                -
                              
                              
                                -
                              
                              
                                 begin
                              
                              
                                -
                              
                              
                                xdoclet
                              
                              
                                -
                              
                              
                                definition 
                              
                              
                                -
                              
                              
                                -
                              
                              
                                >
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @
                              
                              
                                ejb
                              
                              
                                .
                              
                              
                                bean name="Role"
                              
                              
                              
                              
                                *
                              
                              
                                 jndi
                              
                              
                                -
                              
                              
                                name="Role"
                              
                              
                              
                              
                                *
                              
                              
                                 type="CMP"
                              
                              
                              
                              
                                *
                              
                              
                                  primkey
                              
                              
                                -
                              
                              
                                field="name" 
                              
                              
                              
                              
                                *
                              
                              
                                  schema="RoleSchema" 
                              
                              
                              
                              
                                *
                              
                              
                                  cmp
                              
                              
                                -
                              
                              
                                version="
                              
                              
                                2.
                              
                              
                                x"
                              
                              
                              
                              
                                *
                              
                              
                                  view
                              
                              
                                -
                              
                              
                                type = "local"
                              
                              
                              
                              
                                *
                              
                              
                                  data
                              
                              
                                -
                              
                              
                                source=""
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @
                              
                              
                                ejb
                              
                              
                                .
                              
                              
                                persistence 
                              
                              
                              
                              
                                *
                              
                              
                                   table
                              
                              
                                -
                              
                              
                                name="RoleTable" 
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @
                              
                              
                                jboss
                              
                              
                                .
                              
                              
                                persistence 
                              
                              
                              
                              
                                *
                              
                              
                                    create
                              
                              
                                -
                              
                              
                                table = "true"
                              
                              
                              
                              
                                *
                              
                              
                                    remove
                              
                              
                                -
                              
                              
                                table = "false"
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @
                              
                              
                                ejb
                              
                              
                                .
                              
                              
                                finder 
                              
                              
                              
                              
                                *
                              
                              
                                    query="SELECT OBJECT(a) FROM RoleSchema as a"  
                              
                              
                              
                              
                                *
                              
                              
                                    signature="java
                              
                              
                                .
                              
                              
                                util
                              
                              
                                .
                              
                              
                                Collection findAll()"  
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @
                              
                              
                                ejb
                              
                              
                                .
                              
                              
                                pk class="java
                              
                              
                                .
                              
                              
                                lang
                              
                              
                                .
                              
                              
                                String"
                              
                              
                              
                              
                                *
                              
                              
                                 <!
                              
                              
                                -
                              
                              
                                -
                              
                              
                                 end
                              
                              
                                -
                              
                              
                                xdoclet
                              
                              
                                -
                              
                              
                                definition 
                              
                              
                                -
                              
                              
                                -
                              
                              
                                >
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @
                              
                              
                                generated
                              
                              
                              
                              
                                *
                              
                              
                                */
                              
                              
                                public
                              
                              
                                abstract
                              
                              
                                class
                              
                               RoleBean 
                              
                                implements
                              
                               javax.ejb.EntityBean {
  
                              
                                /**
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @
                              
                              
                                ejb
                              
                              
                                .
                              
                              
                                create
                              
                              
                                -
                              
                              
                                method
                              
                              
                                   */
                              
                              
                                public
                              
                               java.lang.
                              
                                String
                              
                               ejbCreate(
                              
                                String
                              
                               name, 
                              
                                String
                              
                               description) 
                              
                                throws
                              
                               javax.ejb.CreateException {
    
                              
                                // EJB 2.0 spec says return null for CMP ejbCreate methods.
                              
                              
   setName(name);
 setDescription(description);
    
                              
                                return
                              
                              
                                null
                              
                              ;
  }
  
                              
                                /**
                              
                              
                              
                              
                                *
                              
                              
                                 The container invokes this method immediately after it calls ejbCreate.
                              
                              
                                   */
                              
                              
                                public
                              
                              
                                void
                              
                               ejbPostCreate(
                              
                                String
                              
                               name, 
                              
                                String
                              
                               description) 
                              
                                throws
                              
                               javax.ejb.CreateException {
  }
  
                              
                                /**
                              
                              
                              
                              
                                *
                              
                              
                                 CMP Field name
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @return
                              
                              
                                 the name
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @
                              
                              
                                ejb
                              
                              
                                .
                              
                              
                                persistent
                              
                              
                                -
                              
                              
                                field 
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @
                              
                              
                                ejb
                              
                              
                                .
                              
                              
                                persistence
                              
                              
                              
                              
                                *
                              
                              
                                    column
                              
                              
                                -
                              
                              
                                name="權限名稱"
                              
                              
                              
                              
                                *
                              
                              
                                     jdbc
                              
                              
                                -
                              
                              
                                type="VARCHAR"
                              
                              
                              
                              
                                *
                              
                              
                                     sql
                              
                              
                                -
                              
                              
                                type="varchar(
                              
                              
                                12
                              
                              
                                )"
                              
                              
                              
                              
                                *
                              
                              
                                     read
                              
                              
                                -
                              
                              
                                only="false"
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @
                              
                              
                                ejb
                              
                              
                                .
                              
                              
                                pk
                              
                              
                                -
                              
                              
                                field 
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @
                              
                              
                                ejb
                              
                              
                                .
                              
                              
                                interface
                              
                              
                                -
                              
                              
                                method
                              
                              
                                   */
                              
                              
                                public
                              
                              
                                abstract
                              
                               java.lang.
                              
                                String
                              
                               getName();
  
                              
                                /**
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @param
                              
                              
                                 java
                              
                              
                                .
                              
                              
                                lang
                              
                              
                                .
                              
                              
                                String the new name value
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @
                              
                              
                                ejb
                              
                              
                                .
                              
                              
                                interface
                              
                              
                                -
                              
                              
                                method
                              
                              
                                   */
                              
                              
                                public
                              
                              
                                abstract
                              
                              
                                void
                              
                               setName(java.lang.
                              
                                String
                              
                               name);
  
                              
                                /**
                              
                              
                              
                              
                                *
                              
                              
                                 CMP Field description
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @return
                              
                              
                                 the description
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @
                              
                              
                                ejb
                              
                              
                                .
                              
                              
                                persistent
                              
                              
                                -
                              
                              
                                field 
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @
                              
                              
                                ejb
                              
                              
                                .
                              
                              
                                persistence
                              
                              
                              
                              
                                *
                              
                              
                                    column
                              
                              
                                -
                              
                              
                                name="權限描述"
                              
                              
                              
                              
                                *
                              
                              
                                     jdbc
                              
                              
                                -
                              
                              
                                type="VARCHAR"
                              
                              
                              
                              
                                *
                              
                              
                                     sql
                              
                              
                                -
                              
                              
                                type="varchar(
                              
                              
                                30
                              
                              
                                )"
                              
                              
                              
                              
                                *
                              
                              
                                     read
                              
                              
                                -
                              
                              
                                only="false"
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @
                              
                              
                                ejb
                              
                              
                                .
                              
                              
                                interface
                              
                              
                                -
                              
                              
                                method
                              
                              
                                   */
                              
                              
                                public
                              
                              
                                abstract
                              
                               java.lang.
                              
                                String
                              
                               getDescription();
  
                              
                                /**
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @param
                              
                              
                                 java
                              
                              
                                .
                              
                              
                                lang
                              
                              
                                .
                              
                              
                                String the new description value
                              
                              
                              
                              
                                *
                              
                              
                              
                              
                                @
                              
                              
                                ejb
                              
                              
                                .
                              
                              
                                interface
                              
                              
                                -
                              
                              
                                method
                              
                              
                                   */
                              
                              
                                public
                              
                              
                                abstract
                              
                              
                                void
                              
                               setDescription(java.lang.
                              
                                String
                              
                               description);
}

                            
好了,保存,將 RoleBean 加入到 cmpEJB 模塊中,然后 lomboz -> Generate EJB Classes
4. 重點:建立 UserBean對 RoleBean 的多對多的單向聯系:
· 由于這次設計的是UserBean對RoleBean的單向聯系,所以只需要在UserBean中添加方法標記即可。
切換到 UserBean.java ,右擊 UserBean ->J2EE ->Add CMR Relationship :
· 生成的標記如下,還需要手工添加一些@JBoss標記:
· 保存, Generate EJB Classes

Eclipse快速上手EJB -- 4. 多對多的單向關系的CMR(2)

接上篇: Eclipse快速上手EJB -- 4. 多對多的單向關系的CMR(1)

二、在UserManagementBean中添加業務方法
1. 增加一個 UserInfoLocalHome 的變量 userHome,并將它放入 ejbCreate 和 ejbPassivate 方法中。
2. 依次增加以下幾個業務方法。

UserManagementBean中有關 RoleBean 的部分(很簡單)

                                        
                                          //**********************************************************************
                                        
                                        
                                          //                     多對多的單向關系
                                        
                                        
                                          //**********************************************************************
                                        
                                        
                                          /**
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                           創建權限
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                           Business method
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                        
                                        
                                          @throws
                                        
                                        
                                           CreateException
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                        
                                        
                                          @
                                        
                                        
                                          ejb
                                        
                                        
                                          .
                                        
                                        
                                          interface
                                        
                                        
                                          -
                                        
                                        
                                          method view
                                        
                                        
                                          -
                                        
                                        
                                          type = "remote"
                                        
                                        
                                            */
                                        
                                        
                                          public
                                        
                                        
                                          void
                                        
                                         createRole(
                                        
                                          String
                                        
                                         roleName, 
                                        
                                          String
                                        
                                         description)
  
                                        
                                          throws
                                        
                                         CreateException {
  roleHome.create(roleName, description);
 }
 
 
                                        
                                          /**
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                           顯示所有權限
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                        
                                        
                                          @throws
                                        
                                        
                                           FinderException
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                        
                                        
                                          @
                                        
                                        
                                          ejb
                                        
                                        
                                          .
                                        
                                        
                                          interface
                                        
                                        
                                          -
                                        
                                        
                                          method view
                                        
                                        
                                          -
                                        
                                        
                                          type="remote"
                                        
                                        
                                            */
                                        
                                        
                                          public
                                        
                                         ArrayList getRoles() 
                                        
                                          throws
                                        
                                         FinderException {
  ArrayList roleList = 
                                        
                                          new
                                        
                                         ArrayList(30);
  Iterator iter = roleHome.findAll().iterator();
  
                                        
                                          while
                                        
                                         (iter.hasNext()) {
   RoleLocal role = (RoleLocal) iter.next();
   roleList.add(role.getName());
  }
  
                                        
                                          return
                                        
                                         roleList;
 }
 
                                        
                                          /**
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                           刪除權限
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                        
                                        
                                          @throws
                                        
                                        
                                           RemoveException
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                        
                                        
                                          @throws
                                        
                                        
                                           EJBException
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                        
                                        
                                          @
                                        
                                        
                                          ejb
                                        
                                        
                                          .
                                        
                                        
                                          interface
                                        
                                        
                                          -
                                        
                                        
                                          method view
                                        
                                        
                                          -
                                        
                                        
                                          type="remote"
                                        
                                        
                                            */
                                        
                                        
                                          public
                                        
                                        
                                          void
                                        
                                         removeRole(
                                        
                                          String
                                        
                                         name) 
                                        
                                          throws
                                        
                                         EJBException, RemoveException {
  roleHome.remove(name);
 }
 
                                        
                                          /**
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                           給用戶增加權限
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                        
                                        
                                          @throws
                                        
                                        
                                           FinderException
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                        
                                        
                                          @
                                        
                                        
                                          ejb
                                        
                                        
                                          .
                                        
                                        
                                          interface
                                        
                                        
                                          -
                                        
                                        
                                          method view
                                        
                                        
                                          -
                                        
                                        
                                          type="remote"
                                        
                                        
                                            */
                                        
                                        
                                          public
                                        
                                        
                                          void
                                        
                                         addRole(
                                        
                                          String
                                        
                                         email, 
                                        
                                          String
                                        
                                         roleName) 
                                        
                                          throws
                                        
                                         FinderException {
  UserLocal user = userHome.findByPrimaryKey(email);
  
                                        
                                          Collection
                                        
                                         roles = user.getRoles();
  RoleLocal role = roleHome.findByPrimaryKey(roleName);
  roles.add(role);
 }
 
 
                                        
                                          /**
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                           得到某個用戶擁有的權限
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                        
                                        
                                          @throws
                                        
                                        
                                           FinderException
                                        
                                        
                                        
                                        
                                          *
                                        
                                        
                                        
                                        
                                          @
                                        
                                        
                                          ejb
                                        
                                        
                                          .
                                        
                                        
                                          interface
                                        
                                        
                                          -
                                        
                                        
                                          method view
                                        
                                        
                                          -
                                        
                                        
                                          type="remote"
                                        
                                        
                                            */
                                        
                                        
                                          public
                                        
                                         ArrayList getUserRole(
                                        
                                          String
                                        
                                         email) 
                                        
                                          throws
                                        
                                         FinderException{
  ArrayList roleList = 
                                        
                                          new
                                        
                                         ArrayList(30);
  UserLocal user = userHome.findByPrimaryKey(email);
  Iterator iter = user.getRoles().iterator();
  
                                        
                                          while
                                        
                                         (iter.hasNext()) {
   RoleLocal role = (RoleLocal) iter.next();
   roleList.add(role.getName());
  }
  
                                        
                                          return
                                        
                                         roleList;
 }
   
                                      
3. 好了,保存, Generate EJB Classes, 啟動MySql, 啟動JBoss服務器, Deploy Module
如果一切正常,則會在 cmp_sample 庫中自動建立兩個表:roletable 和 userrole 。
role_fk 和 email_fk 是在 UserBean 中的 getRoles 的方法標記中定義的。
三、創建客戶端
1. 右擊 src文件夾 ->新建 ->Lomboz EJB Test Client Wizard:
創建一個 CMPClient3.java 文件 (步驟同前兩篇文章一樣)。
2. 修改生成的 CMPClient3.java,調用UserManagementBean中的方法。
這里給出了完整的源代碼:

CMPClient3.java

                                    
                                      /*
                                    
                                    
                                       * 創建日期 2005-1-25
                                    
                                    
                                       *
                                    
                                    
                                       * 作者:javamxj(分享java快樂)
                                    
                                    
                                       */
                                    
                                    
                                      package
                                    
                                    
                                       javamxj
                                    
                                    
                                      .
                                    
                                    
                                      ejb
                                    
                                    
                                      .
                                    
                                    
                                      client
                                    
                                    
                                      ;
                                    
                                    
                                      import
                                    
                                    
                                       java
                                    
                                    
                                      .
                                    
                                    
                                      rmi
                                    
                                    
                                      .
                                    
                                    
                                      RemoteException
                                    
                                    
                                      ;
                                    
                                    
                                      import
                                    
                                    
                                       java
                                    
                                    
                                      .
                                    
                                    
                                      util
                                    
                                    
                                      .
                                    
                                    
                                      ArrayList
                                    
                                    
                                      ;
                                    
                                    
                                      import
                                    
                                    
                                       java
                                    
                                    
                                      .
                                    
                                    
                                      util
                                    
                                    
                                      .
                                    
                                    
                                      Hashtable
                                    
                                    
                                      ;
                                    
                                    
                                      import
                                    
                                    
                                       java
                                    
                                    
                                      .
                                    
                                    
                                      util
                                    
                                    
                                      .
                                    
                                    
                                      Iterator
                                    
                                    
                                      ;
                                    
                                    
                                      import
                                    
                                    
                                       javamxj
                                    
                                    
                                      .
                                    
                                    
                                      ejb
                                    
                                    
                                      .
                                    
                                    
                                      cmp
                                    
                                    
                                      .
                                    
                                    
                                      UserManagement
                                    
                                    
                                      ;
                                    
                                    
                                      import
                                    
                                    
                                       javax
                                    
                                    
                                      .
                                    
                                    
                                      ejb
                                    
                                    
                                      .
                                    
                                    
                                      CreateException
                                    
                                    
                                      ;
                                    
                                    
                                      import
                                    
                                    
                                       javax
                                    
                                    
                                      .
                                    
                                    
                                      ejb
                                    
                                    
                                      .
                                    
                                    
                                      FinderException
                                    
                                    
                                      ;
                                    
                                    
                                      import
                                    
                                    
                                       javax
                                    
                                    
                                      .
                                    
                                    
                                      naming
                                    
                                    
                                      .
                                    
                                    
                                      InitialContext
                                    
                                    
                                      ;
                                    
                                    
                                      import
                                    
                                    
                                       javax
                                    
                                    
                                      .
                                    
                                    
                                      naming
                                    
                                    
                                      .
                                    
                                    
                                      NamingException
                                    
                                    
                                      ;
                                    
                                    
                                      /**
                                    
                                    
                                    
                                    
                                      *
                                    
                                    
                                    
                                    
                                      @author
                                    
                                    
                                    
                                    
                                      pc
                                    
                                    
                                    
                                    
                                    
                                    
                                      *
                                    
                                    
                                    
                                    
                                    
                                    
                                      *
                                    
                                    
                                       TODO 要更改此生成的類型注釋的模板,請轉至
                                    
                                    
                                    
                                    
                                      *
                                    
                                    
                                       窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
                                    
                                    
                                       */
                                    
                                    
                                      public
                                    
                                    
                                      class
                                    
                                     CMPClient3 {
 
                                    
                                      private
                                    
                                     javamxj.ejb.cmp.UserManagementHome getHome() 
                                    
                                      throws
                                    
                                     NamingException {
  
                                    
                                      return
                                    
                                     (javamxj.ejb.cmp.UserManagementHome) getContext().lookup(
    javamxj.ejb.cmp.UserManagementHome.JNDI_NAME);
 }
 
                                    
                                      private
                                    
                                     InitialContext getContext() 
                                    
                                      throws
                                    
                                     NamingException {
  
                                    
                                      Hashtable
                                    
                                     props = 
                                    
                                      new
                                    
                                    
                                      Hashtable
                                    
                                    ();
  props.put(InitialContext.INITIAL_CONTEXT_FACTORY,
    
                                    
                                      "org.jnp.interfaces.NamingContextFactory"
                                    
                                    );
  props.put(InitialContext.PROVIDER_URL, 
                                    
                                      "jnp://127.0.0.1:1099"
                                    
                                    );
  
                                    
                                      // This establishes the security for authorization/authentication
                                    
                                    
                                      // props.put(InitialContext.SECURITY_PRINCIPAL,"username");
                                    
                                    
                                      // props.put(InitialContext.SECURITY_CREDENTIALS,"password");
                                    
                                    
  InitialContext initialContext = 
                                    
                                      new
                                    
                                     InitialContext(props);
  
                                    
                                      return
                                    
                                     initialContext;
 }
 
                                    
                                      public
                                    
                                    
                                      void
                                    
                                     testBean() {
  
                                    
                                      try
                                    
                                     {
   javamxj.ejb.cmp.UserManagement userMgmt = getHome().create();
   
   createUsers(userMgmt);
   
                                    
                                      System
                                    
                                    .out.println(
                                    
                                      "顯示所有權限"
                                    
                                    );
   printList(userMgmt.getRoles());
   
   
                                    
                                      System
                                    
                                    .out.println(
                                    
                                      "給用戶wangyi@aaa.com增加權限 "
                                    
                                    );
   userMgmt.addRole(
                                    
                                      "wangyi@aaa.com"
                                    
                                    , 
                                    
                                      color:
  
                                    
                                  
分享到:
評論
happmaoo
  • 瀏覽: 1291458 次
  • 性別: Icon_minigender_1
  • 來自: 杭州
最新評論

Eclipse快速上手EJB -- 4. 多對多的單向關系的CMR


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久精品黄色 | 日韩电影中文字幕 | 超97在线观看精品国产 | 国产精品毛片久久久久久 | 狠狠色噜噜狠狠狠狠米奇777 | 丁香婷婷六月综合交清 | 国产精品久久久久久亚洲伦理 | 性福利影院 | 亚洲免费在线视频 | 日韩在线观看视频一区 | 日韩欧美综合在线 | 免费毛片在线视频 | 国产一区二区久久精品 | 天天干天天爱天天操 | 2022最新a精品视频在线观看 | 九九九久久久久久久爱 | 波多野结衣VR全景3D | 久草色视频 | 色yeye在线观视频 | hdbbwsexvideo| 午夜伦4480yy私人影院 | 亚洲午夜精品一区二区三区 | www国产| 黑丝在线播放 | 亚洲9777精品毛A片久久久 | 欧美日韩无线码免费播放 | 羞羞视频在线免费 | 久久久久九九九九 | 日本香蕉一区二区三区 | 精品一区二区久久久久久久网站 | av电影网站在线观看 | 日韩在线观看免费 | 有码在线 | 国产精品第八页 | 亚洲欧美综合 | 天天怕夜夜怕狠狠怕 | av在线在线 | 久久久视频在线 | 男女精品视频 | 日本亚洲欧美 | 操美女在线 |