JBoss + EJB3 + MySql : 开发第一个EJB

自己上传的资料无法删除,呵呵,搞笑 立即下载

JBoss开发Bean并不困难,而对于不知道的人来说,数据库配置才是比较棘手的问题。现在我们就来一步一步开发一个EJB3 + MySql的Bean。


一、MySql数据库的配置

1. 配置数据源

在 %JBOSS_HOME%/docs/examples/jca 目录下找到一个名叫 "mysql-db.xml" 的文件,这个是官方为我们写好的针对mysql的数据源配置文件,我们改改它就行了。

将 mysql-db.xml 复制到 /server/default/deploy 目录下,并将文件内容修改为:

<?xml version="1.0" encoding="UTF-8"?>

<!-- $Id: mysql-ds.xml 41017 2006-02-07 14:26:14Z acoliver $ -->
<!--  Datasource config for MySQL using 3.0.9 available from:
http://www.mysql.com/downloads/api-jdbc-stable.html
-->

<datasources>
  <local-tx-datasource>
    <jndi-name>MySqlDS</jndi-name>
    <connection-url>jdbc:mysql://localhost:3306/ejb</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>root</user-name>
    <password>0000</password>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
    <metadata>
       <type-mapping>mySQL</type-mapping>
    </metadata>
  </local-tx-datasource>
</datasources>
<user-name>是你的mysql数据库用户名,同理<password>是连接密码。

2. 配置persistence.xml

persistence.xml 是 Java Persistence 规范要求我们定义的一个部署描述文件,作用是配置一些基本信息,如EntityManager服务的名称。我们在项目目录的 METAINF/ 目录下创建这个文件:

<?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">  
     
 <!-- entity就是EntityManager服务名 -->
 <persistence-unit name="entity" transaction-type="JTA">  
 	<!-- 这里必须跟mysql-db.xml文件中的<jndi-name>一样,即MySqlDs -->
    <jta-data-source>java:/MySqlDS</jta-data-source>  
    <!-- 以下是hibernate的相关配置,可省略 -->
    <properties>  
             <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>  
             <property name="hibernate.hbm2ddl.auto" value="update"/>  
             <property name="hibernate.connection.characterEncoding" value="UTF-8" /> 
    </properties>
 </persistence-unit>  
    
</persistence> 


至此数据库配置完毕。


二、开发Bean

1. 开发Entity Bean

我们创建一个名为 User 的实体Bean, 用来保存一个用户的基本信息,如用户名,密码。

package dev.entity;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "DB_USER")
public class User implements Serializable {
    @Id
    @Column(name = "C_ID")
    private int id;
    @Column(name = "C_NAME")
    private String name;
    @Column(name = "C_PASSWORD")
    private String pwd;
    
    //get() and set()
}

然后编写以下语句创建数据表 DB_USER:

create table DB_USER(
C_ID int key,
C_NAME varchar(40),
C_PASSWORD varchar(40)
);


2. 开发Session Bean

我们的Session Bean将包括2个功用:一是创建并持久化一个User类,二是从数据库中取回一个User对象。

首先创建远程接口 UserBeanRemote : 

package dev.bean;

import javax.ejb.Remote;
import dev.entity.*;

@Remote
public interface UserBeanRemote {
    void createUser(User user); //创建User
    User getUser(int id); //查询并获取User
}
然后创建会话Bean : UserBean 

package dev.bean;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import dev.entity.*;
@Stateless
public class UserBean implements UserBeanRemote {
    @PersistenceContext(unitName = "entity")
    private EntityManager manager;
    
    public void createUser(User user) {
	manager.persist(user);
    }
    
    public User getUser(int id) {
	return manager.find(User.class, id);
    }
}

至此 Bean开发完毕。


三、部署 EJB

Eclipse中,在项目名上右击,选择 Export. 在弹出的向导中选择 EJB JAR file. 然后按照提示即可完成部署。


四、编写测试代码

public class Client {
    public static void main(String[] args) {
	try {
	    Context context = initContext();
	    UserBeanRemote ubr = (UserBeanRemote)context.lookup("UserBean/remote");
	    
	    User user = new User();
	    user.setId(4);
	    user.setName("bruce lee");
	    user.setPwd("123456");
	    
	    ubr.createUser(user);
	    
	    /*User user = (User)ubr.getUser(2);
	    System.out.println(user.getName());*/
	    
	    System.out.println("success!");
	}
	catch (Exception ex) {
	    ex.printStackTrace();
	}
    }
    
    /*
     * 这一部分是写死的
     * 固定写法
     */
    public static Context initContext() throws javax.naming.NamingException {
	Properties prop = new Properties();
	prop.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
	prop.put(Context.URL_PKG_PREFIXES,"org.jboss.naming:org.jnp.interfaces");
	prop.put(Context.PROVIDER_URL, "jnp://localhost:1099");
	
	return new javax.naming.InitialContext(prop);
    }

}

至此一个简单的EJB3已经开发完成。


班级班费管理系统EJB3.0+mysql 班级班费管理系统v1.0说明文档<br><br>1.该系统使用JDK 1.6+jboss-4.2.0+mysql-5.0.22+NetBeans 5.5.1开发,采用EJB3.0 <br><br>2.安装过程:(假设环境都已经配置)<br> (1).打开database目录下的sql.sql文件,在mysql环境命令提示下依次 执行。<br> (2).拷贝database目录下的mysql-connector-java-3.1.13-bin.jar文件到jboss服务器下的jboss\server\default\lib目录<br> (3).拷贝database目录下的mysql-ds.xml文件到jboss服务器下的jboss\server\default\deploy目录<br> (4).修改mysql-ds.xml里面的用户名和密码,确保和你的mysql服务器连接得上。<br><br><br> (5).打开NetBeans 5.5.1,打开项目。<br> (6).直接运行项目<br><br><br> (7).或者直接拷贝classmoney-ejb.jar和classmoney-war.war到jboss服务器下的jboss\server\default\deploy目录<br> 在浏览器中输入:http://localhost:8080/classmoney-war/<br> (8).输入:学号:admin 密码:admin 以生活委员身份登陆(该系统里面的 BOSS)<br> 学号:050101001 密码:123456 以普通身份登陆<br><br>3.该系统有2个entity bean:Smoney,Userinfo<br> 2个session bean: addmoneyBean,userBean<br><br>4.系统功能介绍: <br> 管理员功能 :<br> <br> 添加用户<br> 查看所有用户<br> 增加班费收入<br> 增加班费支出<br> 查看所有班费详细记录<br> 查看班费总帐<br><br> 普通用户功能:<br><br> 查看班费总帐<br><br><br> 2007-12-9<br><br> 立即下载

相关推荐

服务器端——EJB+MySQL架构实现

Java Web即Java EE,它是面向企业级的网络系统,其中的“企业级”和“网络”(分布式)代表了Java Web开发的核心目标。在Java EE最新的规范中提供了进行企业级开发的框架组件EJB,并同时提供了多种分布式服务开发技术方案,

jboss jta mysql_JBOSS使用JPA操作数据库

1.在jboss的部署目录新增mysql-ds.xml,这个文件在jboss安装目录可以找到MySqlDSjdbc:mysql://127.0.0.1:3306/studentcom.mysql.jdbc.Driverroot123456org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSortermySQL2.在EJB项目中新增JPA支持这...

weixin_35112750的博客 227

第一个EJB访问数据库例子

第一个EJB访问数据库例子

ejb mysql_JBOSS+EJB3+MYSQL开发

参考文献:一. 配置Jboss有一个默认的数据源DefaultDS,他使用Jboss内置的HSQLDB数据库。实际应用中你可能使用不同的数据库,如MySql、MsSqlServer、Oracle等。各种数据库的数据源配置模版你可以在[Jboss_home]\docs\examples\jca 目录中找到,默认名称为:数据库名+ -ds.xml 。不管你使用那种数据库都需要把他的驱动类Jar 包放置...

weixin_35304361的博客 341

MyEclipse+EJB3+JBoss4部署EBJ+web项目HelloWorld详解

1,下载安装JDK1.6; 2,下载安装MyEclispse8.5; 3,下载安装JBoss4; 4,在MyEclispse8.5环境下配置JBoss4; 5,新建一个EJB3项目; 6,新建一个远程的无状态的SessionBean; 远程接口代码如下:

EJB容器内单元测试指南

测试环境要求建立在公司现有的Jbuilder开发环境和具体项目所需的环境配置基础之上。

JBOSS+EJB3+MYSQL开发

参考文献: myeclipse+jboss开发EJB3.0之实体Bean MyEclipse+JBoss开发EJB3.0 ejb3.0中persistence.xml文件 EJB项目中Persistence.xml配置 一. 配置        Jboss有一个默认的数据源DefaultDS,他使用Jboss内置的HSQLDB数据库。实际应用中你可能使用不同的数据库,如My

xwdreamer的专栏 3592

从ADS到HFSS:耦合线带通滤波器的设计与模型转换实战

本文详细介绍了耦合线带通滤波器的完整设计流程,重点阐述了从ADS电路级快速优化到HFSS三维电磁场精确验证的模型转换实战方法。通过对比ADS理想模型仿真与HFSS全波仿真结果,指导读者进行参数校准与迭代优化,并分享了关键的板材选择、加工误差及端口设置等避坑指南,确保设计性能与实物测试高度一致。

weixin_29290863的博客 342

ejb mysql_用Jbuilder开发在Jboss 3.0+Mysql下运行的EJB(CMP 2.0)

用Jbuilder开发在Jboss 3.0+Mysql下运行的EJB(CMP 2.0)板桥里人 http://www.jdon.com 2002/07/05JBoss 3.0.0提供了EJB 2.0 中CMP 2.0的完全支持,而Jbuilder 7为CMP 2.0的可视化编程提供了有力的工具,两者结合在一起,我们就可以能快速的为客户开发出数据库应用的原型。第一步:初始化JBoss1.将mysql...

weixin_34688784的博客 131

Chatbox使用指南

Chatbox使用指南

weixin_65289420的博客 2万+

320x240 TFT屏的SPI DMA驱动避坑指南:基于HC32F460的时序调试心得

本文详细介绍了基于HC32F460 MCU驱动320x240 TFT屏的SPI DMA实战经验,涵盖硬件设计、波形诊断、DMA优化及高级调试技巧。重点解析SPI时序配置、DMA缓冲区对齐等常见问题,并提供逻辑分析仪波形诊断方法和性能优化策略,帮助开发者规避典型陷阱,提升显示性能。

weixin_42639246的博客 370

ejb mysql_JBoss + EJB3 + MySql : 开发第一个EJB

JBoss开发Bean并不困难,而对于不知道的人来说,数据库配置才是比较棘手的问题。现在我们就来一步一步开发一个EJB3 + MySql的Bean。一、MySql数据库的配置1. 配置数据源在 %JBOSS_HOME%/docs/examples/jca 目录下找到一个名叫 "mysql-db.xml" 的文件,这个是官方为我们写好的针对mysql的数据源配置文件,我们改改它就行了。将mysql...

weixin_28738983的博客 224

Oracle数据库安装及配置(Oracle19c)

Windows 10安装Oracle 19c教程

weixin_69200200的博客 2万+

多智能体协作的AI工具选型:从模型能力到框架取舍的实战指南

大模型虽强,但在处理超长上下文和高复杂度任务时,常出现“中段失忆”和角色混淆等问题。多智能体协作通过角色定义、任务编排与消息传递三大机制,将大任务拆解为多个专注的智能体,让专业模型干专业的事。技术选型时,需从推理能力、上下文窗口、函数调用稳定性以及框架的轻重取舍等维度综合考量,主流框架如ClawSwarm、CrewAI、LangGraph各有适用场景,Kimi、DeepSeek、豆包、千问等模型也各有所长。实际应用中,这种协作模式能有效降低上下文压力、提升可控性与调试效率,常用于技术内容创作、复杂方案分析等

weixin_34054931的博客 243

真正的工业级环形缓冲区(Circular Buffer)完整实现细节

永远不要永远不要ToArray()或AddRange()永远返回或两段Span永远用_head_tail% Capacity实现环形照着上面这套代码改,你的系统将彻底告别内存爆炸,从“实验室玩具”变成“产线战神”!需要我给你一个支持两段绘制的完整实现吗?

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 127

RDkit入门

今天开始写RDkit的入门教程,每天学习和写一小点,相信一句话“不积跬步无以至千里,不积小流无以成江海”,所以就慢慢来,一点一滴积累叭,从最简单的开始喽希望自己每天都能保持写博客的好习惯,把自己的代码笔记就极在这里,RDkit一块啃了很久的骨头,今天终于要下定决心,好好总结一波了,希望保持这个更新的频率,每天都能有所学。............

博客而已 6682

Eclipse+JBoss+Mysql开发EJB3.0EntityBean

开发工具:Eclipse Java EE IDE for WebDevelopers,JBoss 5.1.0.GA,Mysql 5.0.22         EJB(Enterprise JavaBean)有3种,Session Bean、Message Bean和Entity Bean。其中Session Bean又分为有状态的会话Bean(Stateful Session Bean)和无状态

曹建新 放飞理想,收获希望 2873

第八届传智杯微信小程序开发挑战赛练习题库

本文是微信小程序开发练习题库,包含单选题、多选题和判断题三种题型。单选题主要考察小程序开发基础知识,如数组方法、组件使用、API调用等;多选题涵盖样式属性、页面跳转、数据处理等综合知识;判断题则测试开发者对小程序特性、生命周期、功能限制等概念的理解。题目内容涉及小程序开发的各个方面,包括组件使用、API调用、数据绑定、页面配置等核心知识点,适合开发者进行自我测试和知识巩固。

qq_73044452的博客 505
上一篇: 程序员如何掌握计算机英语
下一篇: GeoServer 2.3 发布地图
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值