我的源代码 package bookshoptest;import javax.ejb.*; import java.util.*;public interface Book extends javax.ejb.EJBLocalObject { public Integer getBookid(); public void setBookname(String bookname); public String getBookname(); public void setIsbn(String isbn); public String getIsbn(); public void setAuthor(String author); public String getAuthor(); public void setPublish(String publish); public String getPublish(); public void setPrice(Float price); public Float getPrice(); } package bookshoptest;import javax.ejb.*;abstract public class BookBean implements EntityBean { EntityContext entityContext; public java.lang.Integer ejbCreate(java.lang.Integer bookid) throws CreateException { /**@todo Complete this method*/ setBookid(bookid); return null; } public void ejbPostCreate(java.lang.Integer bookid) throws CreateException { /**@todo Complete this method*/ } public void ejbRemove() throws RemoveException { /**@todo Complete this method*/ } public void ejbLoad() { /**@todo Complete this method*/ } public void ejbStore() { /**@todo Complete this method*/ } public void ejbActivate() { /**@todo Complete this method*/ } public void ejbPassivate() { /**@todo Complete this method*/ } public void unsetEntityContext() { this.entityContext = null; } public void setEntityContext(EntityContext entityContext) { this.entityContext = entityContext; } public abstract void setBookid(java.lang.Integer bookid); public abstract void setBookname(java.lang.String bookname); public abstract void setIsbn(java.lang.String isbn); public abstract void setAuthor(java.lang.String author); public abstract void setPublish(java.lang.String publish); public abstract void setPrice(java.lang.Float price); public abstract java.lang.Integer getBookid(); public abstract java.lang.String getBookname(); public abstract java.lang.String getIsbn(); public abstract java.lang.String getAuthor(); public abstract java.lang.String getPublish(); public abstract java.lang.Float getPrice(); }package bookshoptest;import javax.ejb.*; import java.util.*;public interface BookHome extends javax.ejb.EJBLocalHome { public Book create(Integer bookid) throws CreateException; public Book findByISBN(String isbn) throws FinderException; public Collection findAllBook() throws FinderException; public Book findByPrimaryKey(Integer bookid) throws FinderException; }
续 ///////////////////////////////////////////////////////////////////////////////////////// package bookshoptest;import javax.ejb.*; import java.util.*;public interface OrderInfo extends javax.ejb.EJBLocalObject { public String getOrderid(); public void setCustName(String custName); public String getCustName(); public void setAddress(String address); public String getAddress(); public void setEMail(String eMail); public String getEMail(); public void setBooklist(String booklist); public String getBooklist(); public void setPrice(Float price); public Float getPrice(); } package bookshoptest;import javax.ejb.*;abstract public class OrderInfoBean implements EntityBean { EntityContext entityContext; public java.lang.String ejbCreate(java.lang.String orderid) throws CreateException { setOrderid(orderid); return null; } public void ejbPostCreate(java.lang.String orderid) throws CreateException { /**@todo Complete this method*/ } public void ejbRemove() throws RemoveException { /**@todo Complete this method*/ } public abstract void setOrderid(java.lang.String orderid); public abstract void setCustName(java.lang.String custName); public abstract void setAddress(java.lang.String address); public abstract void setEMail(java.lang.String eMail); public abstract void setBooklist(java.lang.String booklist); public abstract void setPrice(java.lang.Float price); public abstract java.lang.String getOrderid(); public abstract java.lang.String getCustName(); public abstract java.lang.String getAddress(); public abstract java.lang.String getEMail(); public abstract java.lang.String getBooklist(); public abstract java.lang.Float getPrice(); public void ejbLoad() { /**@todo Complete this method*/ } public void ejbStore() { /**@todo Complete this method*/ } public void ejbActivate() { /**@todo Complete this method*/ } public void ejbPassivate() { /**@todo Complete this method*/ } public void unsetEntityContext() { this.entityContext = null; } public void setEntityContext(EntityContext entityContext) { this.entityContext = entityContext; } }package bookshoptest;import javax.ejb.*; import java.util.*;public interface OrderInfoHome extends javax.ejb.EJBLocalHome { public OrderInfo create(String orderid) throws CreateException; public OrderInfo findByPrimaryKey(String orderid) throws FinderException; }
续 ///////////////////////////////////////////////////////////////////////////////////////// package bookshoptest;import javax.ejb.*; import java.util.*; import java.rmi.*;public interface facade extends javax.ejb.EJBObject { public String getBookInfo(String bookid) throws RemoteException; public java.util.Collection getAllBook() throws RemoteException; }package bookshoptest;import javax.jms.*; import java.io.*; import java.util.*; import javax.ejb.*; import javax.naming.*; import java.util.Properties; import javax.rmi.PortableRemoteObject; public class facadeBean implements SessionBean { SessionContext sessionContext; public Book book=null; private BookHome bookHome=null; public void ejbCreate() throws CreateException { try{ Context context = new InitialContext(); //look up jndi name Object ref = context.lookup("java:/comp/env/book"); //look up jndi name and cast to Home interface bookHome= (BookHome) ref; }catch(Exception e){e.printStackTrace();} /**@todo Complete this method*/ } public void ejbRemove() { /**@todo Complete this method*/ } public void ejbActivate() { try{ Context context = new InitialContext(); //look up jndi name Object ref = context.lookup("java:/comp/env/book"); //look up jndi name and cast to Home interface bookHome= (BookHome) ref; }catch(Exception e){e.printStackTrace();} /**@todo Complete this method*/ } public void ejbPassivate() { /**@todo Complete this method*/ } public void setSessionContext(SessionContext sessionContext) { this.sessionContext = sessionContext; } public String getBookInfo(String bookid) { String strBook=null; try{ book=bookHome.findByPrimaryKey(new Integer(bookid)); strBook ="the bookname is "+ book.getBookname() +" ISBN is "+book.getIsbn()+" author is "+book.getAuthor()+ " publish is "+book.getPublish(); }catch(Exception e){} return strBook; /**@todo Complete this method*/ } public java.util.Collection getAllBook() { Collection result=new Vector(); try{ Collection c1 = bookHome.findAllBook(); System.out.println(c1.size()); Object o1[]=c1.toArray(); for(int i=0;i<o1.length;i++) { book=(Book)o1[i]; System.out.println(book.getBookid()+" "+book.getBookname()+" "+book.getIsbn()+" "+book.getAuthor()+" "+book.getPublish()+" "+book.getPrice()); result.add(new BookItem(book.getBookid(),book.getBookname(),book.getIsbn(),book.getAuthor(),book.getPublish(),book.getPrice().floatValue())); } }catch(Exception e){e.printStackTrace();} return result; /**@todo Complete this method*/ } } package bookshoptest;import javax.ejb.*; import java.util.*; import java.rmi.*;public interface facadeHome extends javax.ejb.EJBHome { public facade create() throws CreateException, RemoteException; } 工具:jb9+wl7+SqlServer2000 使用微软的SQLServer2000 JDBC驱动我写了3个bean,都在1个EJB Module中,其中2个实体bean(cmp): Book,OrdrInfo; 1个会话bean:facade;通过facade bean引用2个实体bean(cmp).
package bookshoptest;import javax.ejb.*;
import java.util.*;public interface Book extends javax.ejb.EJBLocalObject {
public Integer getBookid();
public void setBookname(String bookname);
public String getBookname();
public void setIsbn(String isbn);
public String getIsbn();
public void setAuthor(String author);
public String getAuthor();
public void setPublish(String publish);
public String getPublish();
public void setPrice(Float price);
public Float getPrice();
}
package bookshoptest;import javax.ejb.*;abstract public class BookBean implements EntityBean {
EntityContext entityContext;
public java.lang.Integer ejbCreate(java.lang.Integer bookid) throws CreateException {
/**@todo Complete this method*/
setBookid(bookid);
return null;
}
public void ejbPostCreate(java.lang.Integer bookid) throws CreateException {
/**@todo Complete this method*/
}
public void ejbRemove() throws RemoveException {
/**@todo Complete this method*/
}
public void ejbLoad() {
/**@todo Complete this method*/
}
public void ejbStore() {
/**@todo Complete this method*/
}
public void ejbActivate() {
/**@todo Complete this method*/
}
public void ejbPassivate() {
/**@todo Complete this method*/
}
public void unsetEntityContext() {
this.entityContext = null;
}
public void setEntityContext(EntityContext entityContext) {
this.entityContext = entityContext;
}
public abstract void setBookid(java.lang.Integer bookid);
public abstract void setBookname(java.lang.String bookname);
public abstract void setIsbn(java.lang.String isbn);
public abstract void setAuthor(java.lang.String author);
public abstract void setPublish(java.lang.String publish);
public abstract void setPrice(java.lang.Float price);
public abstract java.lang.Integer getBookid();
public abstract java.lang.String getBookname();
public abstract java.lang.String getIsbn();
public abstract java.lang.String getAuthor();
public abstract java.lang.String getPublish();
public abstract java.lang.Float getPrice();
}package bookshoptest;import javax.ejb.*;
import java.util.*;public interface BookHome extends javax.ejb.EJBLocalHome {
public Book create(Integer bookid) throws CreateException;
public Book findByISBN(String isbn) throws FinderException;
public Collection findAllBook() throws FinderException;
public Book findByPrimaryKey(Integer bookid) throws FinderException;
}
/////////////////////////////////////////////////////////////////////////////////////////
package bookshoptest;import javax.ejb.*;
import java.util.*;public interface OrderInfo extends javax.ejb.EJBLocalObject {
public String getOrderid();
public void setCustName(String custName);
public String getCustName();
public void setAddress(String address);
public String getAddress();
public void setEMail(String eMail);
public String getEMail();
public void setBooklist(String booklist);
public String getBooklist();
public void setPrice(Float price);
public Float getPrice();
}
package bookshoptest;import javax.ejb.*;abstract public class OrderInfoBean implements EntityBean {
EntityContext entityContext;
public java.lang.String ejbCreate(java.lang.String orderid) throws CreateException {
setOrderid(orderid);
return null;
}
public void ejbPostCreate(java.lang.String orderid) throws CreateException {
/**@todo Complete this method*/
}
public void ejbRemove() throws RemoveException {
/**@todo Complete this method*/
}
public abstract void setOrderid(java.lang.String orderid);
public abstract void setCustName(java.lang.String custName);
public abstract void setAddress(java.lang.String address);
public abstract void setEMail(java.lang.String eMail);
public abstract void setBooklist(java.lang.String booklist);
public abstract void setPrice(java.lang.Float price);
public abstract java.lang.String getOrderid();
public abstract java.lang.String getCustName();
public abstract java.lang.String getAddress();
public abstract java.lang.String getEMail();
public abstract java.lang.String getBooklist();
public abstract java.lang.Float getPrice();
public void ejbLoad() {
/**@todo Complete this method*/
}
public void ejbStore() {
/**@todo Complete this method*/
}
public void ejbActivate() {
/**@todo Complete this method*/
}
public void ejbPassivate() {
/**@todo Complete this method*/
}
public void unsetEntityContext() {
this.entityContext = null;
}
public void setEntityContext(EntityContext entityContext) {
this.entityContext = entityContext;
}
}package bookshoptest;import javax.ejb.*;
import java.util.*;public interface OrderInfoHome extends javax.ejb.EJBLocalHome {
public OrderInfo create(String orderid) throws CreateException;
public OrderInfo findByPrimaryKey(String orderid) throws FinderException;
}
/////////////////////////////////////////////////////////////////////////////////////////
package bookshoptest;import javax.ejb.*;
import java.util.*;
import java.rmi.*;public interface facade extends javax.ejb.EJBObject {
public String getBookInfo(String bookid) throws RemoteException;
public java.util.Collection getAllBook() throws RemoteException;
}package bookshoptest;import javax.jms.*;
import java.io.*;
import java.util.*;
import javax.ejb.*;
import javax.naming.*;
import java.util.Properties;
import javax.rmi.PortableRemoteObject;
public class facadeBean implements SessionBean {
SessionContext sessionContext;
public Book book=null;
private BookHome bookHome=null; public void ejbCreate() throws CreateException {
try{
Context context = new InitialContext();
//look up jndi name
Object ref = context.lookup("java:/comp/env/book");
//look up jndi name and cast to Home interface
bookHome= (BookHome) ref;
}catch(Exception e){e.printStackTrace();}
/**@todo Complete this method*/
}
public void ejbRemove() {
/**@todo Complete this method*/
}
public void ejbActivate() {
try{
Context context = new InitialContext();
//look up jndi name
Object ref = context.lookup("java:/comp/env/book");
//look up jndi name and cast to Home interface
bookHome= (BookHome) ref;
}catch(Exception e){e.printStackTrace();}
/**@todo Complete this method*/
}
public void ejbPassivate() {
/**@todo Complete this method*/
}
public void setSessionContext(SessionContext sessionContext) {
this.sessionContext = sessionContext;
}
public String getBookInfo(String bookid) {
String strBook=null;
try{
book=bookHome.findByPrimaryKey(new Integer(bookid));
strBook ="the bookname is "+ book.getBookname() +" ISBN is "+book.getIsbn()+" author is "+book.getAuthor()+ " publish is "+book.getPublish();
}catch(Exception e){}
return strBook;
/**@todo Complete this method*/ }
public java.util.Collection getAllBook() {
Collection result=new Vector();
try{
Collection c1 = bookHome.findAllBook();
System.out.println(c1.size());
Object o1[]=c1.toArray();
for(int i=0;i<o1.length;i++)
{
book=(Book)o1[i];
System.out.println(book.getBookid()+" "+book.getBookname()+" "+book.getIsbn()+" "+book.getAuthor()+" "+book.getPublish()+" "+book.getPrice());
result.add(new BookItem(book.getBookid(),book.getBookname(),book.getIsbn(),book.getAuthor(),book.getPublish(),book.getPrice().floatValue()));
}
}catch(Exception e){e.printStackTrace();}
return result; /**@todo Complete this method*/ }
}
package bookshoptest;import javax.ejb.*;
import java.util.*;
import java.rmi.*;public interface facadeHome extends javax.ejb.EJBHome {
public facade create() throws CreateException, RemoteException;
}
工具:jb9+wl7+SqlServer2000 使用微软的SQLServer2000 JDBC驱动我写了3个bean,都在1个EJB Module中,其中2个实体bean(cmp): Book,OrdrInfo;
1个会话bean:facade;通过facade bean引用2个实体bean(cmp).