开发环境:JBoss 4.2.2.GA,MyEclipse 6.01 ,MySQL5。
在MySQL中建立一个叫mydb的数据库,新建一个user表,SQL如下:
create table user(
id int not null,
name varchar(45) not null,
password varchar(20) not null,
primary key(id)
);
在JBoss的server/defaul/\deploy下新建mysql-ds.xml,
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>MySQLDS</jndi-name>
<connection-url>jdbc:mysql://127.0.0.1/mydb</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password></password>
</local-tx-datasource>
</datasources>
先建立一个EJB Project myejb,点选JavaEE 5.0 - EJB3.0,选中Add Support for Entity beans(add JPA Capabilities),确定即可。新建三个java文件,都在com.lukecheng包,分别如下:
/**
对应数据库user表
*/
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class User implements Serializable {
private int id;
private String name;
private String password;
@Id
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import com.lukecheng.entity.User;
@Stateless
public class UserService implements UserServiceRemote {
@PersistenceContext(unitName = "myejbPS")
private EntityManager em;
public void addUser(User u) { //持久化User
em.persist(u);
}
public User findUserById(int id) { //查找User
return (User) em.find(User.class, id);
}
}
import javax.ejb.Remote;
import com.lukecheng.entity.User;
@Remote
public interface UserServiceRemote {
public void addUser(User u);
public User findUserById(int id);
}
然后修改META-INF下的persistence.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
<persistence-unit name="myejbPS" transaction-type="JTA">
<jta-data-source>java:/MySQLDS</jta-data-source><!-- 这是mysql-ds.xml配置好的数据源-->
</persistence-unit>
</persistence>
发布到JBoss,新建一个叫testejb的Dynamic Web Project测试一下 ,新建testuser.jsp:
<%@ page language="java"
import="javax.naming.*,com.lukecheng.*"
pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<%
InitialContext ctx = null;
try {
ctx = new InitialContext();
UserServiceRemote h = (UserServiceRemote) ctx
.lookup("UserService/remote");
User u = new User();
u.setId(1);
u.setName("lukecheng");
u.setPassword("123456789");
h.addUser(u);
out.println("save over");
} catch (NamingException e) {
e.printStackTrace();
}
%>
</body>
</html>
启动Jboss,在浏览器中输入http://localhost:8080/testejb/testuser.jsp,看一下数据库,是不是有:
+----+-----------+-----------+
| id | name | password |
+----+-----------+-----------+
| 1 | lukecheng | 123456789 |
+----+-----------+-----------+
1 row in set (0.03 sec)
那就可以了。
分享到:
相关推荐
描述中提到的"jboss7 mysql5 eclipse luna应用JPA报错",可能意味着在JBoss 7版本上运行的一个应用,使用了MySQL 5数据库,但在Eclipse Luna(一个特定的Eclipse版本)中通过JPA进行数据访问时出现了错误。...
在“EJB3+JBOSS5+JPA整合”中,开发者通常会经历以下步骤: 1. **创建实体类**:使用JPA注解如`@Entity`、`@Table`、`@Id`等来定义数据模型。 2. **配置数据源**:在JBOSS的配置文件中设置数据源,连接到数据库。 3....
总之,这个小例子提供了一个学习和实践Java EE开发,特别是JBoss AS7、Seam Remoting和JPA(通过Hibernate实现)集成的宝贵机会。通过对这些技术的理解和应用,开发者能够构建出高效、可扩展的企业级应用程序。
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码.part1 其他部分详见我的上传列表,全部分卷下载完成才能解压。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun...
《经典Java EE企业应用实战:基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发》介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;EJB 3部分则包含Session Bean、Message Driven Bean的...
在JPA中,实体(Entity)代表数据库表,实体间的关系映射到数据库表之间的关系,使得Java对象可以直接操作数据库记录。 **EJB(Enterprise JavaBeans)** EJB是Java EE(Enterprise Edition)的一部分,主要用于...
Java Persistence API (JPA) 是Java平台上的一个标准,用于管理和持久化应用程序中的对象到关系数据库。它提供了一种面向对象的方式来处理数据库操作,减少了开发人员与SQL之间的直接交互,简化了数据访问层的实现。...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发 PDF 书籍 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;EJB 3部分则包含Session Bean、Message ...
在这个"remoting-jpa-testprog"项目中,我们可以期待看到如何在JBoss AS 7上配置和部署一个应用,该应用利用Seam Remoting进行远程方法调用,并使用JPA和Hibernate来管理持久化数据。开发者可能已经创建了一个简单的...
经典JAVA EE企业应用实战 基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发.part2
在本书中,作者李刚将指导读者如何在WebLogic和JBoss这两种不同的应用服务器环境下,使用JSF、EJB 3和JPA来构建高效的企业级应用。通过实际案例,读者可以学习到如何设计和实现复杂的业务逻辑,如何处理事务、安全性...
经典Java EE企业应用实战:基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 part3
JBoss是一个开源的Java应用服务器,它是基于Java EE(以前称为J2EE)标准的,提供了一整套企业级服务,包括EJB、JMS、JTA、JPA等,用于构建和部署分布式、跨平台的企业级应用。在4.0.x版本时,它已经是一个非常成熟...
经典Java EE企业应用实战:基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 part2
- **JMS (Java Message Service)**:介绍JMS的原理及用途,教授如何在JBoss AS 7中实现消息传递服务。 ##### 4. 应用程序开发 - **Web应用程序**:介绍如何基于JBoss AS 7构建Web应用程序,包括使用Servlets、JSP...
- **MVC 推风格**:介绍了在 RESTful 应用中使用“推”风格的 MVC 设计模式的具体实现方法。 #### 三、使用 Seam-gen 快速起步 - **准备工作**:在开始使用 Seam-gen 之前,需要进行一系列的基础配置,包括环境...
6. **JPA(Java Persistence API)与Hibernate**:JBoss支持JPA作为数据持久化的标准,同时也集成了流行的ORM框架Hibernate,用于简化数据库操作。 7. **Web服务**:JBoss支持SOAP和RESTful Web服务,提供WS-*规范...
在拍卖系统中,JPA负责将拍卖物品、用户、出价等业务对象与数据库表之间的映射,通过编写简单的实体类和配置,即可实现对象与SQL的透明转换。JPA提供了查询语言JPQL,类似于SQL,但更面向对象,方便对数据库进行复杂...
1. **Java EE 5支持**:JBoss 4.0.x系列是基于Java EE 5标准的,提供了诸如EJB 3.0、JPA(Java Persistence API)、JSF(JavaServer Faces)、JMS(Java Message Service)等组件的支持,使得开发企业级应用变得更加...