本文详细介绍EJB+JPA实现Entity的CRUD基本操作。
目录
- 创建POJO:BlogVo
- 创建Entity:Blog
- 配置persistence.xml
- 定义Remote接口
- 创建SessionBean实现类
- 配置datasource数据源
- 部署EJB工程
- 创建客户端测试类
- 运行测试类
[一]、创建POJO:BlogVo.java
[二]、创建Entity:Blog.java
[三]、配置persistence.xml
修改配置文件 src: META-INF/persistence.xml
ps:<jta-data-source></jta-data-source>配置的值“java:/micmiuOracleDS”需要和JBOSS_HOME/server/default/conf/tandardjbosscmp-jdbc.xml 中配置的<datasource></datasource>一致,详见 下面 第[六]部分 配置datasource数据源
[四]、定义Remote接口
BlogBeanRemote.java
[五]、创建SessionBean实现类
BlogBean.java
ps:
- @PersistenceContext 用来注入 EntityManager
- unitName 的值”micmiuJPA” 和配置文件persistence.xml 中定义的名称一致
[六]、配置datasource数据源
数据源配置详见:
EJB部署在JBoss下的datasource配置
[七]、部署EJB工程
导出EJB工程打包,copy 到 JBOSS_HOME/server/default/deploy 默认发布配置下,启动JBOSS即可,能看的类似如下的日志信息:
09:39:43,291 INFO [SessionSpecContainer] Starting jboss.j2ee:jar=EJB-HelloWorld.jar,name=BlogBean,service=EJB3
09:39:43,298 INFO [EJBContainer] STARTED EJB: com.micmiu.ejb.BlogBean ejbName: BlogBean
09:39:43,306 INFO [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:BlogBean/remote – EJB3.x Default Remote Business Interface
BlogBean/remote-com.micmiu.ejb.BlogBeanRemote – EJB3.x Remote Business Interface
[八]、创建客户端测试类
把EJB工程中的Remote接口以及引用到的Vo类导出JAR包,copy到客户端工程中,然后创建客户端调用类:BlogBeanClientTest.java
[九]、运行测试类
运行后日志信息如下:
>>>> InitialContext
>>>> lookup
>>>> 操作之前 query michael’s Blog
query result size = 1
BlogVo [id=1, title=Michael的博客, url=http://www.micmiu.com, author=michael]
>>>> create new blog
BlogVo [id=114, title=图文演示Eclipse+JBoss创建第一个EJB项目, url=http://www.micmiu.com/j2ee/ejb/eclipse-jboss-ejb-demo/, author=michael]
>>>> read exit blog
BlogVo [id=1, title=Michael的博客, url=http://www.micmiu.com, author=michael]
>>>> update blog
update title Michael的博客 to 大大&&小小
>>>> 操作之后 query michael’s Blog
>>>> 结果 = 2
BlogVo [id=1, title=大大&&小小, url=http://www.micmiu.com, author=michael]
BlogVo [id=114, title=图文演示Eclipse+JBoss创建第一个EJB项目, url=http://www.micmiu.com/j2ee/ejb/eclipse-jboss-ejb-demo/, author=michael]