自:http://hi.baidu.com/jt618/blog/item/e495164f69a47c33aec3ab2f.html
在JOBoss官网下载嵌入式开发包:
jboss-EJB-3.0_Embeddable_ALPHA_9
将jboss-EJB-3.0_Embeddable_ALPHA_9\bin\开发包导入到J2SE工程的Bin目录下
将jboss-EJB-3.0_Embeddable_ALPHA_9\ conf\开发包导入到J2SE工程的src目录下
将src目录引入数据源引用:META-INF\ persistence.xml
<persistence>
<persistence-unit name="titan">
<jta-data-source>java:/DefaultDS</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
</properties>
</persistence-unit>
</persistence>
EntityBean(name=Cabin)
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="TEST_CABIN")
public class Cabin implements java.io.Serializable{
private Integer id;
private String name;
private Integer deskLevel;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name="SYS_NAME")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Column(name="SYS_DESKLEVEL")
public Integer getDeskLevel() {
return deskLevel;
}
public void setDeskLevel(Integer deskLevel) {
this.deskLevel = deskLevel;
}
}
//本地调用接口;
import javax.ejb.Local;
@Local
public interface CabinDAOLocal {
public int create (Cabin cabin);
public Cabin findById(int key);
}
//远程调用接口;
import javax.ejb.Remote;
@Remote
public interface CabinDAORemote {
public int create (Cabin cabin);
public Cabin findById(int key);
}
//接口实现类:
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
public @Stateless class CabinDAOBean implements CabinDAORemote,CabinDAOLocal {
@PersistenceContext
private EntityManager em;
public int create(Cabin cabin) {
em.persist(cabin);
return cabin.getId();
}
public Cabin findById(int key) {
Cabin cabin=em.find(Cabin.class,key);
return cabin;
}
}
//本地调用测试
import javax.naming.InitialContext;
import org.jboss.ejb3.embedded.EJB3StandaloneBootstrap;
import com.j2se.Cabin;
import com.j2se.CabinDAOLocal;
public class TestJ2seLocalMain {
public static void main(String [] args) throws Exception
{
EJB3StandaloneBootstrap.boot(null);
EJB3StandaloneBootstrap.scanClasspath();//扫描环境变量
InitialContext ict=new InitialContext();
CabinDAOLocal cabindaoremote=(CabinDAOLocal)ict.lookup("CabinDAOBean/local");
Cabin cabin=new Cabin();
cabin.setDeskLevel(1);
cabin.setName("hubei");
int key=cabindaoremote.create(cabin);
Cabin cabin1=cabindaoremote.findById(key);
System.out.println(cabin1.getName());
System.out.println(cabin1.getId());
System.out.println(cabin1.getDeskLevel());
}
}
//远程调用测式
import javax.naming.InitialContext;
import org.jboss.ejb3.embedded.EJB3StandaloneBootstrap;
import com.j2se.Cabin;
import com.j2se.CabinDAORemote;
public class TestJ2seRemoteMain {
public static void main(String [] args) throws Exception
{EJB3StandaloneBootstrap.boot(null);
EJB3StandaloneBootstrap.scanClasspath();
InitialContext ict=new InitialContext();
CabinDAORemote cabindaoremote=(CabinDAORemote)ict.lookup("CabinDAOBean/remote");
Cabin cabin=new Cabin();
cabin.setDeskLevel(1);
cabin.setName("hubei");
int key=cabindaoremote.create(cabin);
Cabin cabin1=cabindaoremote.findById(key);
System.out.println(cabin1.getName());
System.out.println(cabin1.getId());
System.out.println(cabin1.getDeskLevel());
}
}
分享到:
相关推荐
### Java 平台的不同版本:J2SE、J2EE 和 J2ME 的区别 在 Java 开发领域中,根据不同的应用场景和需求,Java 被分为了几个主要的平台版本,分别是 J2SE(Java 2 Standard Edition)、J2EE(Java 2 Enterprise ...
首先,J2SE,也被称为Java SE或现在的Java平台标准版,是Java的核心,提供了基础的编程环境和类库,用于开发桌面应用、服务器端应用和嵌入式系统。J2SE包括Java语言规范、Java虚拟机(JVM)、类库和开发工具。它的...
5. **J2SE体系概述**:J2SE(Java 2 Standard Edition)主要用于桌面和工作站应用,包含了面向对象编程、异常处理、图形界面、多线程、I/O流、网络编程和Java Applet及JavaBean组件开发等技术。 6. **J2ME体系概述*...
Java 2 Platform Standard Edition (J2SE) 是 Java 语言的核心平台,提供了基础的类库和运行时环境,用于开发和运行桌面应用、服务器端应用和嵌入式系统。J2SE 包括了诸如集合框架、网络编程、多线程、I/O流以及面向...
- **EJB容器**:管理EJB实例,处理客户端请求并调用相应的EJB方法。 - **DB服务器**:存储和管理数据,EJB容器通过JDBC与数据库交互。 #### 第二部分 JSP核心技术编程 **2-2 安装配置Tomcat服务器** - **安装步骤...
- **J2ME (Java 2 Platform Micro Edition)**:主要用于嵌入式设备和移动设备上的Java应用开发,例如智能手机、PDA等。 #### 二、J2SE入门指南 新手学习Java时,应从J2SE入手。这一阶段的学习目标主要包括: 1. *...
J2ME主要应用于嵌入式系统,如手机和PDA;J2SE是Java开发的基础,包含了JDK;而J2EE则是企业级应用开发的平台,涵盖了J2ME和J2SE,用于构建复杂的分布式应用。 学习Java,特别是J2EE,你需要关注以下几个关键知识点...
3. **RMI**: 远程方法调用,允许在不同的虚拟机上运行的对象互相通信。 4. **JNDI**: Java Naming and Directory Interface,提供了查找和访问命名目录服务的API。 5. **JDBC**: Java Database Connectivity,用于...
3. Java技术组件:文中提到了许多Java的技术组件和框架,包括EJB(企业级JavaBeans)、JSP(Java Server Pages)、Java Servlets、JavaMail API、RMI(远程方法调用)、JMS(Java消息服务)、Swing、JDBC(Java...
- **方法**:定义和调用方法是Java编程的核心,用于组织代码并实现功能模块化。 2. **面向对象编程**: - **类与对象**:Java是面向对象的语言,理解类的定义、对象的创建和销毁至关重要。 - **封装**:通过访问...
在配置JDK时,需要将JDK的`bin`目录添加到`PATH`变量中,以便可以直接从命令行工具调用`java`和`javac`等命令。例如: ``` PATH=C:\Program Files\Java\jdk1.5.0\bin;C:\Program Files\Java\jdk1.5.0\jre\bin; ``` ...
3. **EJB**:Enterprise Java Beans,企业级JavaBean,是一种用于构建分布式、事务处理和安全的业务组件模型。 4. **RMI**:Remote Method Invocation,远程方法调用,允许Java对象在不同 JVM(Java虚拟机)之间...
3. **J2SE、J2ME和J2EE的差异** - **J2SE**:用于桌面和工作站应用,包括基础的Java编程技术,如异常处理、图形界面、多线程和网络编程。 - **J2ME**:针对嵌入式设备,如PDA、手机,分为CDC和CLDC两个配置,分别...
- **定义**:嵌入式Java平台,主要用于移动设备(如手机、PDA等)的开发。 - **应用场景**:移动应用开发。 - **特点**:资源受限环境下的Java实现。 #### 二、J2SE学习要点 对于初学者来说,J2SE是学习Java的...
3. **配置环境变量**:在系统环境中配置 `JAVA_HOME` 和 `PATH` 变量,确保可以从任意目录调用 Java 命令。 ### 结论 通过上述内容,我们可以了解到 Java 平台的多样性和灵活性。无论是初学者还是经验丰富的开发者...
- **Java EE (J2EE)**: 企业版,针对大型企业级应用开发,提供了如 EJB、JSP 和 Servlets 等组件,便于构建分布式和网络应用。 - **Java ME (J2ME)**: 微版,适用于嵌入式设备和移动设备,如早期的智能手机和平板...
- **直接调用其他EJB**:应通过本地或远程接口。 #### 27. Java虚拟机中的另一种类型 - **引用类型**:如对象引用、数组等。 #### 28. 创建对象的其他方式 - **反射**:使用Class类的newInstance()方法。 - **...
- J2EE(Java 2 Enterprise Edition)是企业版,用于开发和部署企业级应用,如Web应用、EJB(Enterprise JavaBeans)等。 - J2ME(Java 2 Micro Edition)是微型版,适用于嵌入式设备和移动设备。 3. **JDK与JRE*...
- **RMI(Remote Method Invocation)**:允许在远程对象上调用方法,是实现远程服务调用的基础技术。 #### 五、J2EE的信息传递结构 **Web服务器、EJB容器和DB服务器的信息传递结构:** 在J2EE架构中,Web服务器...