博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JBoss + EJB3 + MySql : 开发第一个EJB
阅读量:7006 次
发布时间:2019-06-28

本文共 3442 字,大约阅读时间需要 11 分钟。

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

一、MySql数据库的配置

1. 配置数据源

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

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

MySqlDS
jdbc:mysql://localhost:3306/ejb
com.mysql.jdbc.Driver
root
0000
org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
mySQL
<user-name>是你的mysql数据库用户名,同理<password>是连接密码。

2. 配置persistence.xml

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

java:/MySqlDS

至此数据库配置完毕。

二、开发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.*;@Remotepublic 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.*;@Statelesspublic 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已经开发完成。

转载于:https://www.cnblogs.com/whongfei/p/5246965.html

你可能感兴趣的文章
HDUOJ----专题训练C
查看>>
Cannot lock storage /tmp/hadoop-root/dfs/name. The directory is already locked.
查看>>
BFS和DFS的java实现
查看>>
LCT
查看>>
数组名和指针区别
查看>>
uva10970 Big Chocolate
查看>>
CSS3属性-webkit-font-smoothing字体抗锯齿渲染
查看>>
对MVVM架构的一些理解
查看>>
一个通过物理地址查询网卡所属厂商的Python库——mac.py
查看>>
rundeck yum 安装完成后跳转http://localhost:4440/menu/home问题解决 ...
查看>>
02-Windows Server 2012 R2 会话远程桌面-快速部署(RemoteApp)
查看>>
asp.net 1.1 web.config 讲解
查看>>
Java☞DES加解密算法简介及实现
查看>>
Drupal7核心安装篇-Ubuntu 14.04 LTS
查看>>
ORA-06550 ,has been detected in fnd_global.initialize[fnd_init_sql].
查看>>
android Scroller
查看>>
微信小程序把玩(二)window配置
查看>>
微信公众平台开发(106) 网页获取用户地理位置
查看>>
TEST
查看>>
OpenCV stereo matching BM 算法
查看>>