下面是制作Entity Bean,數據庫是mysql 在mysql中建表: 首先在數據庫中創建一個用來測試的表,數據庫名test 表名 test 我們設置兩個字段: name vrachar(15)不答應為空主鍵 addr varchar(50)答應為空
在Weblogic中建立連接池: 1.打開開始菜單中的執行Weblogic目錄下的Start Default Server,輸入密碼”12345678”啟動Weblogic。 2.啟動”Start Default Console”,輸入用戶名”system” 密碼 “12345678” 進入控制臺,在左面菜單中找到”JDBC”項,打開他你會發現子菜單中有一項為”Connection Pools”,右擊該項,然后選 ”Configure a new JDBC Connection Pool...” 配置連接池 屬性如下表 Name mysqlpool URLjdbc: jdbc:mysql://localhost/test /test為數據庫名/ Driver Class nameorg.gjt.mm.mysql.Driver Properties(key=value):user=root Password 完成后點擊Creat按鈕。 3.點擊Targets標簽,選中myserver,把它移入Chosen項,點擊Apply 4. ”JDBC”項中選中Data Sources,右擊該項,然后選 ”Configure a new JDBC Connection Pool...” 配置數據源。 屬性如下表 Name: mysql JNDI Name:mysql Pool Name:mysqlpool 剩下的保持默認。 5.點擊Targets標簽,選中myserver,把它移入Chosen項,點擊Apply 6.關閉控制臺和Weblogic服務。連接池和數據源已經建好了。
1.打開Jbuilder,新建一個名為hello項目,并在wizard的第2步中,Required Libraries中添加上Weblogic 6.1。 2.新建一個名為HelloWorld的EJB Moudle。 3.新建一個Enterpris JavaBean 1.x,選擇HelloWorld組,點擊下一步。package選擇hello, Class name為“FistBean”,options選擇Container managed persistence EJB 1.1 entity bean 然后點下一步。點擊Finish。 4.項目下共有3個文件分別是 First.java,FirstHome.java,FirstBean.java 在First.java中加入 public java.lang.String getAddr() throws RemoteException; public java.lang.String getName() throws RemoteException; public void setAddr(java.lang.String addr) throws RemoteException; public void setName(java.lang.String name) throws RemoteException; 在FistBean.java中 先刪掉其中的: public String ejbCreate() throws CreateException { /**@todo: Implement this method*/ return null; } public void ejbPostCreate() throws CreateException { } 加入 public String name; public String addr; public String ejbCreate(String name,String addr) throws CreateException, RemoteException { setName(name); setAddr(addr); return null; } public String ejbCreate(String name) throws CreateException, RemoteException { return ejbCreate(name,null); } public void ejbPostCreate(String name,String addr) throws CreateException, RemoteException { } public void ejbPostCreate(String name) throws CreateException, RemoteException { } public void setName(String name){ this.name = name; } public void setAddr(String addr){ this.addr = addr; } public String getName(){ return this.name; } public String getAddr(){ return this.addr; } 在FirstHome.java中 刪掉: public First create() throws RemoteException, CreateException; 加入: public First create(String name) throws CreateException, RemoteException; public First create(String name,String addr) throws CreateException, RemoteException;
5.點擊左面菜單中的HelloWorld,然后雙擊下面的First, 點擊右面窗體下面的Resource References標簽,點擊面板上的Add按鈕,在跳出的輸入對話框中輸入”First”點ok,選擇type為java.sql.DataSource。選中First,在下面JNDI Name框中輸入hello.FirstHome。選中下面的cmp選項。 在WebLogic6.x properties標簽中,第一行(data-source-name)中加入mysql 6.展開First,雙擊cmp1.1,table(s)輸入”test”,容器治理表內容如下 isCMP isPK Field TypeColumn Name(s)Column Type 選中 選中 name namevarchar(15) 選中 不選 addr addrvarchar(50) 7.右擊EJB Deployment Descriptor下的JDBC1 DataSources 新建一個名為mysql的數據源,配置如下: JNDI name mysql URLjdbc: jdbc:mysql://localhost/test User name root Password Driver class name org.gjt.mm.mysql.Driver 配置完成點擊“Test Connection”如正確則顯示 Attempting to connect to database... Connection sUCceeded. 假如顯示下面的信息 Attempting to connect to database... Driver not on classpath. Add the driver to the classpath using the Set Classpath command. 則表示數據庫的jdbc驅動并不在classpath里,把數據庫的驅動添加到項目的Required Libraries中去。 8.雙擊左邊的HelloWorld,然后點擊右面窗口中的 EJB DD Source ,然后選weblogic-cmp-rdbms-jar.xml找到 datasource修改為mysql. 9.保存后按Ctrl+F9編譯,應該沒有問題。 10.新建一個Test EJB Client 全部采用默認設置即可。 11.再main方法里面找到 FistTestClient1 client = new FistTestClient1(); 然后再后加入下面的代碼: First ff=client.create("testName","testAddr"); try { System.out.println(ff.getName()); System.out.println(ff.getAddr()); } catch (java.rmi.RemoteException ex) { ex.printStackTrace(); } 然