ejb3 jpa初探

通过查询和插入来显示ejb3 jpa的例子:
db server:sql server 2005 (express)(db:zhou, table:SG_Simple)
tools:myeclipse6.1
app server:jboss 4.2.3 GA
jdk:5.0
ejb3 jpa 中使用注解来简化编码
在ejb3中,你只需创建一个interface,创建一个class,在class上加几行注解连关联interface。
在jpa中,你只需一个class和一些注解。加上persistence.xml文件。orm就形成了。
首先jboss中配置与数据库连接的jndi-name。如下图:


[img]http://dl.iteye.com/upload/attachment/198560/15f30da4-525c-3047-a467-58517190f959.jpg[/img]
在jpa的persistence.xml会配置如何获取datasource通过此jndi

jboss中的persistence.xml:

[img]http://dl.iteye.com/upload/attachment/198562/8298c631-ee04-3690-ac17-83572d2c03e7.jpg[/img]

websphere中的persistence.xml:

[img]http://dl.iteye.com/upload/attachment/198564/2cf554f2-3938-3ade-a28e-bf8786cb1a61.jpg[/img]

本例可以在jboss和websphere中运行,因两者通过jndi获取ejb对象的字符串有点差别,所以通过建一个serverlet(继承GenericServlet)在程序启动的时候读取配置文件中的值来获取是用的哪个app server(jboss,websphere)。
配置文件(config001.properties)中的值:
application.server=jboss

application.server=websphere
下面是demo的工程结构图:

[img]http://dl.iteye.com/upload/attachment/198593/106818ae-38d5-34ec-bcb5-046a2f16bc50.jpg[/img]

db 截图:

[img]http://dl.iteye.com/upload/attachment/198597/9c2b6127-855f-378a-bf33-a7386fb80b52.jpg[/img]

本例是用ant进行编译打包的,打包后的工程:

[img]http://dl.iteye.com/upload/attachment/198611/e217b15e-cd24-3ede-acfb-bbe72fce684b.jpg[/img]

本例是以ear包的形式发布到app server中的:
可以用两个不同的ant文件分别对不同的server进行打包部署:

为了使用ejb3与jpa,项目中引用了jboss中的一些jar包,如图:因为你最后再jboss中跑程序,所以就没必要再把jar包拷到程序的lib下了。这里只要eclipse工程中编译能通过就可以了。
<classpathentry kind="lib" path="C:/Development/jboss-4.2.3.GA/server/default/lib/jboss-ejb3x.jar"/>
<classpathentry kind="lib" path="C:/Development/jboss-4.2.3.GA/server/default/lib/ejb3-persistence.jar"/>
<classpathentry kind="lib" path="C:/Development/jboss-4.2.3.GA/server/default/lib/servlet-api.jar"/>
[img]http://dl.iteye.com/upload/attachment/198616/19696fd1-be08-3196-bbad-4ee0f831904e.jpg[/img]

页面显示:

[img]http://dl.iteye.com/upload/attachment/198645/e262c846-9c41-3315-adc1-3450a0c8c2ba.jpg[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值