上一篇 | 下一篇

JBuilder7+Weblogic7+mysql开发EJB的配置

发布: 2008-6-26 08:52 | 作者: admin | 来源: | 查看: 1次

Home interface class: com.fuck.axamn.ProductRemoteHome

local Home interface class: com.fuck.axamn.ProductHome

Remote interface calss: com.fuck.axamn.ProductRemote

Local interface calss: com.fuck.axamn.Product

而本例中我是这样命名的:

Bean class: com.fuck.axamn.ProductBean

Home interface class: com.fuck.axamn.ProductHome

local Home interface class: com.fuck.axamn.ProductLocalHome

Remote interface calss: com.fuck.axamn.Product

Local interface calss: com.fuck.axamn.ProductLocal

CMP properties中,本例是一个BEAN对应一张表,所以先第一个Single table maping

如果是一个BEAN和多表关关联选第二项,然后把左边的primary key和右边各表对应的字段

用红线连一下就行了,你只要点primary key的字段拖就会出现红线.

点击左边组件树上设计器ProductApp上面的package,一级一级点开,看到生成的5个文件

ProductHome.java

ProductLocalHome.java

Product.java

ProductLocal.java

ProductBean.java

一一按本例附件中的文件内容敲进去.完成后双击设计器,让右边回到BEAN设计界面上,会看

到ProductBean的finder方法有七个,findByPrimaryKey是系统自动生成系统的,这个不要你考虑.

但是其它的6个系统不可能知道你是按什么条件查找,所以要手工写入EJB-QL.

在各方法上点击一下就会在右边弹出对话框,别有都不动,在最下面的Query内容框中输入以

下对应的内容

findByName方法:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.name=?1

findByDescription方法:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.description=?1

findByBasePrice方法:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.basePrice=?1

findExpensiveProducts:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.basePrice

findCheapProducts:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.basePrice>?1

findAllProducts:SELECT OBJECT(p) FROM ProductBean AS p WHERE p.productID IS NOT NULL

右键点击工程mysproject make,如果输入没有错误,应该顺利编译.然后按F9运行。如果WLS没有启动JB

会自动启动它的。

没有问题后右击设计器,选择Deploy可以顺利发布到WLS上,从http://localhost:7001/console进入

后可以看到ProductApp 被发布到WLS中了。

------------------------------------------------------------------------------------------

测试:

在工程中,File->New->Enterprise->EJB test Client.名称设为ProductClient

在左边组件树中双击ProductClient .java,编辑内容为本本例提供的内容.

make ProductClient.java

run ProductClient.java

在测试文件中如何查找ProductApp这个EJB呢,其实你在左边组件树中双击设计器下面ProductBean的

名称,右边会显示出这个BEAN的属性,Home JDNI NAME和Local JDNI name分别就是远程和本地的JDNI

命称,你在测试文件就查找这个名称,如:

Object objref = ctx.lookup("ProductBeanRemote");

"ProductBeanRemote"就是Home JDNI NAME框中的值.

 

字号: | 推荐给好友

66/6<123456

评分:0

我来说两句