创建实体Bean 和上篇实战EJB一样,我们在Jbuilder中先建立一个guestbook.jpx项目,然后再利用向导建立EJB名为book,接着我们需要建立它的数据源,也命名为book,当然你想取什么名字都行,不过以后在weblogic中的数据源配置要和这里写的一样,由于这些配置和上一篇相同,所以这里我都省去了,请大家仔细看上篇的贴子,有问题请PM我! 首先创建book表的CMP实体Bean文件,由于ID是在数据库中自动增加,在此我们可以将它删除,而指定name为主键,同时我们修改posttime的类型为java.lang.String.

接下来我们设计模型,这里放在value中,下面是BookValue.java的源代码
package guestbook.maxuan.ejb.entity.value;
import java.io.*;
public class BookValue implements Serializable{ public java.lang.String name; public java.lang.String email; public java.lang.String qq; public java.lang.String posttime; public java.lang.String comment; public java.lang.String ip; public java.lang.String action; private void writeObject(ObjectOutputStream oos) throws IOException { oos.defaultWriteObject(); } private void readObject(ObjectInputStream ois) throws ClassNotFoundException,
IOException { ois.defaultReadObject(); } public String getAction() { return action; } public void setAction(String action) { this.action = action; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getQq() { return qq; } public void setQq(String qq) { this.qq = qq; } public java.lang.String getPosttime() { return posttime; } public void setPosttime(java.lang.String posttime) { this.posttime = posttime; } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } }
book.java的源代码
package guestbook.maxuan.ejb.entity; import javax.ejb.*; import java.util.*; import guestbook.maxuan.ejb.entity.value.*;
public interface Book extends javax.ejb.EJBLocalObject { public void setName(String name); public String getName(); public void setEmail(String email); public String getEmail(); public void setQq(String qq); public String getQq(); public void setPosttime(String posttime); public String getPosttime(); public void setComment(String comment); public String getComment(); public void setIp(String ip); public String getIp(); public BookValue getValue(); public void setValue(BookValue value); }
BookBean.java的源代码 package guestbook.maxuan.ejb.entity;
import javax.ejb.*; import guestbook.maxuan.ejb.entity.value.*;
abstract public class BookBean implements EntityBean { EntityContext entityContext; public java.lang.String ejbCreate(java.lang.String name) throws CreateException { setName(name); return null; } public java.lang.String ejbCreate(BookValue value) throws CreateException { setValue(value); return null; } public void ejbPostCreate(java.lang.String name) throws CreateException { /**@todo Complete this method*/ } public void ejbPostCreate(BookValue value) throws CreateException { } public void ejbRemove() throws RemoveException { /**@todo Complete this method*/ } public abstract void setName(java.lang.String name); public abstract void setEmail(java.lang.String email); public abstract void setQq(java.lang.String qq); public abstract void setPosttime(java.lang.String posttime); public abstract void setComment(java.lang.String comment); public abstract void setIp(java.lang.String ip); public abstract java.lang.String getName(); public abstract java.lang.String getEmail(); public abstract java.lang.String getQq(); public abstract java.lang.String getPosttime(); public abstract java.lang.String getComment(); public abstract java.lang.String getIp(); 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 BookValue getValue(){ BookValue value = new BookValue(); value.setName(getName()); value.setEmail(getEmail()); value.setQq(getQq()); value.setPosttime(getPosttime()); value.setComment(getComment()); value.setIp(getIp()); return value; } public void setValue(BookValue value){ setName(value.getName()); setEmail(value.getEmail()); setQq(value.getQq()); setPosttime(value.getPosttime()); setComment(value.getComment()); setIp(value.getIp()); } }
BookHome.java的源代码
package guestbook.maxuan.ejb.entity;
import javax.ejb.*; import java.util.*; import guestbook.maxuan.ejb.entity.value.*;
public interface BookHome extends javax.ejb.EJBLocalHome { public Book create(String name) throws CreateException; public Book create(BookValue value) throws CreateException; public Collection findAll() throws FinderException; public Book findByPrimaryKey(String name) throws FinderException; }
记得要写findall的Query语句:SELECT OBJECT(o) FROM Book AS o 接下来我们设计模型,这里放在value中,下面是BookValue.java的源代码
<textarea columns=100 rows=50>
package guestbook.maxuan.ejb.entity.value;
import java.io.*;
public class BookValue implements Serializable{ public java.lang.String name; public java.lang.String email; public java.lang.String qq; public java.lang.String posttime; public java.lang.String comment; public java.lang.String ip; public java.lang.String action; private void writeObject(ObjectOutputStream oos) throws IOException { oos.defaultWriteObject(); } private void readObject(ObjectInputStream ois) throws ClassNotFoundException,
IOException { ois.defaultReadObject(); } public String getAction() { return action; } public void setAction(String action) { this.action = action; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getQq() { return qq; } public void setQq(String qq) { this.qq = qq; } public java.lang.String getPosttime() { return posttime; } public void setPosttime(java.lang.String posttime) { this.posttime = posttime; } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } }
</textarea>
book.java的源代码
<textarea columns=100 rows=50>
package guestbook.maxuan.ejb.entity;
import javax.ejb.*; import java.util.*; import guestbook.maxuan.ejb.entity.value.*;
public interface Book extends javax.ejb.EJBLocalObject { public void setName(String name); public String getName(); public void setEmail(String email); public String getEmail(); public void setQq(String qq); public String getQq(); public void setPosttime(String posttime); public String getPosttime(); public void setComment(String comment); public String getComment(); public void setIp(String ip); public String getIp(); public BookValue getValue(); public void setValue(BookValue value); }
</textarea> BookBean.java的源代码
<textarea columns=100 rows=50>
package guestbook.maxuan.ejb.entity;
import javax.ejb.*; import guestbook.maxuan.ejb.entity.value.*;
abstract public class BookBean implements EntityBean { EntityContext entityContext; public java.lang.String ejbCreate(java.lang.String name) throws CreateException { setName(name); return null; } public java.lang.String ejbCreate(BookValue value) throws CreateException { setValue(value); return null; } public void ejbPostCreate(java.lang.String name) throws CreateException { /**@todo Complete this method*/ } public void ejbPostCreate(BookValue value) throws CreateException { } public void ejbRemove() throws RemoveException { /**@todo Complete this method*/ } public abstract void setName(java.lang.String name); public abstract void setEmail(java.lang.String email); public abstract void setQq(java.lang.String qq); public abstract void setPosttime(java.lang.String posttime); public abstract void setComment(java.lang.String comment); public abstract void setIp(java.lang.String ip); public abstract java.lang.String getName(); public abstract java.lang.String getEmail(); public abstract java.lang.String getQq(); public abstract java.lang.String getPosttime(); public abstract java.lang.String getComment(); public abstract java.lang.String getIp(); 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 BookValue getValue(){ BookValue value = new BookValue(); value.setName(getName()); value.setEmail(getEmail()); value.setQq(getQq()); value.setPosttime(getPosttime()); value.setComment(getComment()); value.setIp(getIp()); return value; } public void setValue(BookValue value){ setName(value.getName()); setEmail(value.getEmail()); setQq(value.getQq()); setPosttime(value.getPosttime()); setComment(value.getComment()); setIp(value.getIp()); } } </textarea> BookHome.java的源代码 <textarea columns=100 rows=50> package guestbook.maxuan.ejb.entity; import javax.ejb.*; import java.util.*; import guestbook.maxuan.ejb.entity.value.*;
public interface BookHome extends javax.ejb.EJBLocalHome { public Book create(String name) throws CreateException; public Book create(BookValue value) throws CreateException; public Collection findAll() throws FinderException; public Book findByPrimaryKey(String name) throws FinderException; } </textarea> 记得要写findall的Query语句:SELECT OBJECT(o) FROM Book AS o
出处:蓝色理想
责任编辑:蓝色
上一页 [J2EE] 实战留言本 [2] 下一页 [J2EE] 实战留言本 [4]
◎进入论坛网络编程版块参加讨论
|