`
xueyue521-qq
  • 浏览: 21644 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JBoss中JPA的实现

阅读更多
开发环境: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)



那就可以了。
分享到:
评论

相关推荐

    jboss、eclipse的jpa连接mysql不成熟的例子

    描述中提到的"jboss7 mysql5 eclipse luna应用JPA报错",可能意味着在JBoss 7版本上运行的一个应用,使用了MySQL 5数据库,但在Eclipse Luna(一个特定的Eclipse版本)中通过JPA进行数据访问时出现了错误。...

    EJB3+JBOSS5+JPA整合

    在“EJB3+JBOSS5+JPA整合”中,开发者通常会经历以下步骤: 1. **创建实体类**:使用JPA注解如`@Entity`、`@Table`、`@Id`等来定义数据模型。 2. **配置数据源**:在JBOSS的配置文件中设置数据源,连接到数据库。 3....

    jbossas7_seamremoting_jpa_小例子

    总之,这个小例子提供了一个学习和实践Java EE开发,特别是JBoss AS7、Seam Remoting和JPA(通过Hibernate实现)集成的宝贵机会。通过对这些技术的理解和应用,开发者能够构建出高效、可扩展的企业级应用程序。

    经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码.part1

    经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码.part1 其他部分详见我的上传列表,全部分卷下载完成才能解压。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    《经典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/JBOSS/EJB基础教程PDF资料

    在JPA中,实体(Entity)代表数据库表,实体间的关系映射到数据库表之间的关系,使得Java对象可以直接操作数据库记录。 **EJB(Enterprise JavaBeans)** EJB是Java EE(Enterprise Edition)的一部分,主要用于...

    JPA配置装载 Jboss Envers Jasperreport ireport 项目

    Java Persistence API (JPA) 是Java平台上的一个标准,用于管理和持久化应用程序中的对象到关系数据库。它提供了一种面向对象的方式来处理数据库操作,减少了开发人员与SQL之间的直接交互,简化了数据访问层的实现。...

    经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发

    经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发 PDF 书籍 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;EJB 3部分则包含Session Bean、Message ...

    jbossas7_seamremoting_jpa_小例子简

    在这个"remoting-jpa-testprog"项目中,我们可以期待看到如何在JBoss AS 7上配置和部署一个应用,该应用利用Seam Remoting进行远程方法调用,并使用JPA和Hibernate来管理持久化数据。开发者可能已经创建了一个简单的...

    经典JAVA EE企业应用实战 基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发.part2

    经典JAVA EE企业应用实战 基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发.part2

    经典JavaEE企业应用实战-基于 WebLogic JBoss的JSF+EJB 3+JPA整合开发

    在本书中,作者李刚将指导读者如何在WebLogic和JBoss这两种不同的应用服务器环境下,使用JSF、EJB 3和JPA来构建高效的企业级应用。通过实际案例,读者可以学习到如何设计和实现复杂的业务逻辑,如何处理事务、安全性...

    经典Java EE企业应用实战:基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 part3

    经典Java EE企业应用实战:基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 part3

    JBOSS中文文档 CSDN资源下载

    JBoss是一个开源的Java应用服务器,它是基于Java EE(以前称为J2EE)标准的,提供了一整套企业级服务,包括EJB、JMS、JTA、JPA等,用于构建和部署分布式、跨平台的企业级应用。在4.0.x版本时,它已经是一个非常成熟...

    经典Java EE企业应用实战:基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 part2

    经典Java EE企业应用实战:基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 part2

    JBoss AS 7 Development

    - **JMS (Java Message Service)**:介绍JMS的原理及用途,教授如何在JBoss AS 7中实现消息传递服务。 ##### 4. 应用程序开发 - **Web应用程序**:介绍如何基于JBoss AS 7构建Web应用程序,包括使用Servlets、JSP...

    jboss seam 中文文档

    - **MVC 推风格**:介绍了在 RESTful 应用中使用“推”风格的 MVC 设计模式的具体实现方法。 #### 三、使用 Seam-gen 快速起步 - **准备工作**:在开始使用 Seam-gen 之前,需要进行一系列的基础配置,包括环境...

    JBoss文档.rar

    6. **JPA(Java Persistence API)与Hibernate**:JBoss支持JPA作为数据持久化的标准,同时也集成了流行的ORM框架Hibernate,用于简化数据库操作。 7. **Web服务**:JBoss支持SOAP和RESTful Web服务,提供WS-*规范...

    基于JSF+EJB3+JPA的竞价拍卖系统

    在拍卖系统中,JPA负责将拍卖物品、用户、出价等业务对象与数据库表之间的映射,通过编写简单的实体类和配置,即可实现对象与SQL的透明转换。JPA提供了查询语言JPQL,类似于SQL,但更面向对象,方便对数据库进行复杂...

    jboss-4.0.5.GA.zip

    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)等组件的支持,使得开发企业级应用变得更加...

Global site tag (gtag.js) - Google Analytics