ejb3.0快速入门项目开发步骤

上传人:第*** 文档编号:31326233 上传时间:2018-02-06 格式:DOC 页数:10 大小:331.50KB
返回 下载 相关 举报
ejb3.0快速入门项目开发步骤_第1页
第1页 / 共10页
ejb3.0快速入门项目开发步骤_第2页
第2页 / 共10页
ejb3.0快速入门项目开发步骤_第3页
第3页 / 共10页
ejb3.0快速入门项目开发步骤_第4页
第4页 / 共10页
ejb3.0快速入门项目开发步骤_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《ejb3.0快速入门项目开发步骤》由会员分享,可在线阅读,更多相关《ejb3.0快速入门项目开发步骤(10页珍藏版)》请在金锄头文库上搜索。

1、EJB3.0 开 发 步 骤1. 开发环境IDE 开发工具:Eclipse Java EE IDE for Web DevelopersEJB 容器:jboss-4.2.3.GA(将 jboss-4.2.3.GA.rar 解压缩到任意一个分区下)后台数据库:MysQL5.12. 开发步骤2.1在 Eclipse 中配置 jboss-4.2.3.GA1. 点击小三角,选中 New server2. 选中 JBOSS AS4.23. 点击 ADD,进行 JBOSS 配置4. 在 Home Directory 中,点击 Browser 选择 JBOSS4.2 的安装目录,在 JRE 中配置 JRE

2、的安装目录,点击 finish在 finish,即可完成对在中的配置。2.2新建 EJB3.0 工程 titan1. 右键 -Project2. 选择 EJB Projectnext3. Project name 为“titan” ,Target runtime 选择配置好的JBOSS4.2,EJB module version 选择 3.0,然后 finish。新的EJB3.0 工程创建成功。2.3项目开发2.3.1 开发 Cabin 实体 Beanpackage com.titan.domain;import javax.persistence.Column;import javax.pe

3、rsistence.Entity;import javax.persistence.Id;import javax.persistence.Table;Entity/告知 persistence provider 这是一个映射到数据的实体类,并且可以受管于 EntityManager 服务。Table(name=CABIN) /告知 EJB 容器,bean class 应该被映射到哪一张数据库表。public class Cabin implements java.io.Serializableprivate static final long serialVersionUID = 1L;pr

4、ivate int id;private String name;private int deckLevel;private int shipId;private int bedCount;Id/表示 CAbin 实体的主键,主键标志是必须的Column(name=ID) /定义如何将成员属性映射到数据库表 CABIN 中的字段。并非是必须的public int getId() return id;public void setId(int id) this.id = id;Column(name=NAME)public String getName() return name;public

5、void setName(String name) this.name = name;Column(name=DECK_LEVEL)public int getDeckLevel() return deckLevel;public void setDeckLevel(int deckLevel) this.deckLevel = deckLevel;Column(name=SHIP_ID)public int getShipId() return shipId;public void setShipId(int shipId) this.shipId = shipId;Column(name=

6、BED_COUNT)public int getBedCount() return bedCount;public void setBedCount(int bedCount) this.bedCount = bedCount;2.3.2 开发远程接口 TravelAgentRemotepackage com.titan.travelagent;import javax.ejb.Remote;import com.titan.domain.Cabin;Remote/表示这是一个远程接口public interface TravelAgentRemote public void createCa

7、bin(Cabin cabin);public Cabin findCabin(int id);2.3.3 开发远程接口的实现 Bean 类 TravelAgentBean(Stateless Bean)package com.titan.travelagent;import javax.ejb.Stateless;import javax.persistence.EntityManager;import javax.persistence.PersistenceContext;import com.titan.domain.Cabin; Stateless/表示这是一个无状态 session

8、 beanpublic class TravelAgentBean implements TravelAgentRemote /PersistenceContext 告知 EJB 容器,必须用一个 EntityManager 实例来设置 manager 数据成员。PersistenceContext(unitName=titan) private EntityManager manager;public void createCabin(Cabin cabin) manager.persist(cabin); public Cabin findCabin(int id) return mana

9、ger.find(Cabin.class, id);2.3.4 在 META-INF 下创建文件 persistence.xml 文件配置如下: java:/titan 【重要】是配置 jboss 的专用属性,尤其重要的 value 的值,主要有两个“create-drop”和“update ”,create-drop 表示,在重新部署或者卸载时,自动创建和删除表,即抹除原有的信息,而 update 表示,当卸载停机时,不会删除表,当重新部署启动时,回进行检测,如果相应的表已经存在,就会相应更新,不存在则创建。Name=是默认的。2.3.5 在 com.titan.clients 包下开发客户

10、端程序package com.titan.clients; import javax.naming.InitialContext;import javax.naming.Context;import javax.naming.NamingException;import javax.rmi.PortableRemoteObject; import com.titan.domain.Cabin;import com.titan.travelagent.TravelAgentRemote;import java.util.Properties;import javax.rmi.PortableRe

11、moteObject;public class Client public static void main(Stringargs)try Context jndiContext=getInitialContext();Object ref=jndiContext.lookup(TravelAgentBean/remote);TravelAgentRemote dao=(TravelAgentRemote)PortableRemoteObject.narrow(ref, TravelAgentRemote.class);Cabin cabin_1=new Cabin();cabin_1.set

12、Id(1);cabin_1.setName(Master Suite);cabin_1.setDeckLevel(1);cabin_1.setShipId(1);cabin_1.setBedCount(3);dao.createCabin(cabin_1);Cabin cabin_2=dao.findCabin(1);System.out.println(cabin_2.getId();System.out.println(cabin_2.getName();System.out.println(cabin_2.getShipId();System.out.println(cabin_2.ge

13、tDeckLevel();System.out.println(cabin_2.getBedCount(); catch (ClassCastException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (NamingException e) / TODO Auto-generated catch blocke.printStackTrace();private static Context getInitialContext() throws NamingException / TODO Auto-gener

14、ated method stubProperties p=new Properties();/.制定专有厂商的属性p.put(Context.INITIAL_CONTEXT_FACTORY, org.jnp.interfaces.NamingContextFactory);p.put(Context.PROVIDER_URL, :/localhost:1099);return new javax.naming.InitialContext(p);至此项目的客户端开发完成。2.4配置 MySql 的 datasource1.将 mysql-connector-java-5.1.16.jar 包放

15、置到JBOSS_HOMEserverdefaultlib 目录下.2.将 mysql-ds.xml 放到 JBOSS_HOMEserverdefaultdeploy。配置如下:titanjdbc:mysql:/localhost:3306/dbcom.mysql.jdbc.Driverrootrootorg.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSortermySQL2.4.1 创建数据库1、创建数据库 titan2、创建数据表 cabinDROP TABLE IF EXISTS cabin;CREATE TABLE cabin ()

16、 3. 运行1.将 titan 工程发布到 JBOSS,启动 JBOSS2.打开 client 程序,右键-Run As-Java Application3.在数据库里可以查询到相应的数据记录,在控制台中可以看到相应的查询结果。(注意:持久化文件 persistence.xml 文件中java:/titanc name=”titan”的这个名字要和实现 session bean 接口的类里面 unitName=”titan”相同,而java: /titanc 中的 titanc 要和 mysql-ds.xml 文件中的titanc相同)如果想要编写多个 entity bean 和 session bean.就可以仿照上面的过程在同个工程下新建

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号