?? memberorderprocejavabean.java
字號:
package flowershoporder.ejb;import java.util.*;import javax.ejb.*;import javax.sql.*;import java.sql.*;import javax.naming.*;import flowershoporder.*;//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -//這是EntityBean(MemberOrderProcEJB)的Bean Class類//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -public class MemberOrderProcEJavaBean implements EntityBean { public String orderid; public String memberid; public int totalprice; public ArrayList commodityorder; private String dbjndiname = "java:comp/env/jdbc/NetFlowerShopDB"; private Connection conn = null; // 定義數據庫連接對象 private EntityContext entitycontext = null; static char[] ch = {'0','1','2','3','4','5','6','7','8','9','a','b','c'}; //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //定義回調方法(callback method) //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - public void setEntityContext(EntityContext entitycontext) { //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //利用回調方法setEntityContext()來連接后臺的cloudscape數據庫 //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - this.entitycontext = entitycontext; try { getdbConnect(); } catch(Exception e) {} } public void unsetEntityContext() { //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //利用回調方法unsetEntityContext()來終止后臺數據庫的連接 //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - try { conn.close(); } catch(SQLException e) {} } public String ejbCreate(String memberid,int totalprice,ArrayList commodityorder) { if(commodityorder != null && commodityorder.size() > 0) { try { this.orderid = getputOrderid(); insertMemberOrders(this.orderid,memberid,totalprice); insertCommodityItems(commodityorder); } catch(Exception e) {} this.orderid = orderid; this.totalprice = totalprice; this.commodityorder = commodityorder; } return orderid; } public void ejbPostCreate(String memberid,int totalprice,ArrayList commodityorder) {} public void ejbLoad() { try { loadMemberOrders(); loadCommodityItems(); } catch(Exception e) {} } public void ejbStore() { try { storeMemberOrders(); deleteCommodityItems(); insertCommodityItems(commodityorder); } catch(Exception e) {} } public void ejbActivate() { orderid = (String)entitycontext.getPrimaryKey(); } public void ejbPassivate() { orderid = null; } public void ejbRemove() { try { deleteMemberOrders(); deleteCommodityItems(); } catch(Exception e) {} } public String ejbFindByPrimaryKey(String orderid) throws FinderException { boolean primarykey_result = false; try { primarykey_result = selectByPrimaryKey(orderid); } catch(Exception e) { throw new FinderException(e.toString()); } return orderid; } public Collection ejbFindByMemberid(String memberid) throws FinderException { Collection memberid_result = null; // 建立一個集合對象,用來存放檢索結果 try { memberid_result = selectByMemberid(memberid); } catch(Exception e) { throw new FinderException(e.toString()); } return memberid_result; } public Collection ejbFindAll() { Collection all_result = null; try { all_result = selectAll(); } catch(Exception e) {} return all_result; } public ArrayList getCommodityOrder() { return commodityorder; } public String getMemberid() { return memberid; } public int getTotalprice() { return totalprice; } public String getOrderid() { return orderid; } private void getdbConnect() { //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //進行數據庫的連接 //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - try { InitialContext initcontext = new InitialContext(); DataSource datasource = (DataSource)initcontext.lookup(dbjndiname); //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //利用getConnection()方法建立數據庫連接,這個方法中的兩個參數分別代表 //數據庫的登錄帳號和密碼。 //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - conn = datasource.getConnection("",""); } catch(Exception e) {} } private String getputOrderid() { //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //通過SQL查詢語句來獲得orderid //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ResultSet rset = null; String orderid1 = null;// String SsqlCmd = "select orderid from OrderTable where orderid=? "; String SsqlCmd = "select ORDERID from ORDERTABLE where orderid=? "; PreparedStatement prepstate = null; try { prepstate = conn.prepareStatement(SsqlCmd); while(rset.next()); { orderid1 = makeRandomOrderid(); prepstate.setString(1,orderid1); rset = prepstate.executeQuery(); } prepstate.close(); } catch(Exception e) {} return orderid1; } private Collection selectByMemberid(String memberid) { ResultSet rset = null; String id_result = null; ArrayList arraylist = new ArrayList();// String SsqlCmd = "select orderid from OrderTable where memberid=?"; String SsqlCmd = "select ORDERID from ORDERTABLE where MEMBERID=?"; PreparedStatement prepstate = null; try { prepstate = conn.prepareStatement(SsqlCmd); prepstate.setString(1,memberid); rset = prepstate.executeQuery(); while(rset.next()) { id_result = rset.getString(1); arraylist.add(id_result); } prepstate.close(); } catch(Exception e) {} return arraylist; } private boolean selectByPrimaryKey(String primaryKey) { boolean f = false; ResultSet rset = null;// String SsqlCmd = "select orderid from OrderTable where orderid=?"; String SsqlCmd = "select ORDERID from ORDERTABLE where ORDERID=?"; PreparedStatement prepstate = null; try { prepstate = conn.prepareStatement(SsqlCmd); prepstate.setString(1,primaryKey); rset = prepstate.executeQuery(); f = rset.next(); prepstate.close(); } catch(Exception e) {} return f; } private Collection selectAll() { ResultSet rset = null; String id_result = null; ArrayList arraylist = new ArrayList();// String SsqlCmd = "select orderid from OrderTable"; String SsqlCmd = "select ORDERID from ORDERTABLE"; PreparedStatement prepstate = null; try { prepstate = conn.prepareStatement(SsqlCmd); rset = prepstate.executeQuery(); while(rset.next()) { id_result = rset.getString(1); arraylist.add(id_result); } prepstate.close(); } catch(Exception e) {} return arraylist; } private void insertMemberOrders(String orderid,String memberid,int totalprice) {// String SsqlCmd = "insert into OrderTable values(? ,? ,?)"; String SsqlCmd = "insert into ORDERTABLE values(? ,? ,?)"; PreparedStatement prepstate = null; try { prepstate = conn.prepareStatement(SsqlCmd); prepstate.setString(1,orderid); prepstate.setString(2,memberid); prepstate.setInt(3,totalprice); prepstate.executeUpdate(); prepstate.close(); } catch(Exception e) {} } private void insertCommodityItems(ArrayList commodityorder) {// String SsqlCmd = "insert into OrderCommodity values(? ,? ,?)"; String SsqlCmd = "insert into ORDERCOMMODITY values(? ,? ,?)"; PreparedStatement prepstate = null; try { prepstate = conn.prepareStatement(SsqlCmd); prepstate.setString(1,this.orderid); for(int i = 0; i < commodityorder.size();i++) { CommodityOrder commodityorderitem = (CommodityOrder)commodityorder.get(i); prepstate.setString(2,commodityorderitem.getCommodityid()); prepstate.setInt(3,commodityorderitem.getQuantity()); prepstate.executeUpdate(); } prepstate.close(); } catch(Exception e) {} } private void deleteCommodityItems() {// String SsqlCmd = "delete from OrderCommodity where orderid=?"; String SsqlCmd = "delete from ORDERCOMMODITY where ORDERID=?"; PreparedStatement prepstate = null; try { prepstate = conn.prepareStatement(SsqlCmd); prepstate.setString(1,orderid); prepstate.executeUpdate(); prepstate.close(); } catch(Exception e) {} } private void deleteMemberOrders() {// String SsqlCmd = "delete from OrderTable where orderid=?"; String SsqlCmd = "delete from ORDERTABLE where ORDERID=?"; PreparedStatement prepstate = null; try { prepstate = conn.prepareStatement(SsqlCmd); prepstate.setString(1,orderid); prepstate.executeUpdate(); prepstate.close(); } catch(Exception e) {} } private void loadMemberOrders() { ResultSet rset = null;// String SsqlCmd = "select memberid, totalprice from OrderTable where orderid=? "; String SsqlCmd = "select MEMBERID,TOTALPRICE from ORDERTABLE where ORDERID=? "; PreparedStatement prepstate = null; try { prepstate = conn.prepareStatement(SsqlCmd); prepstate.setString(1,memberid); rset = prepstate.executeQuery(); while(rset.next()) { memberid = rset.getString(1); totalprice = rset.getInt(2); } prepstate.close(); } catch(Exception e) {} } private void loadCommodityItems() { commodityorder = new ArrayList(); ResultSet rset = null; String commodityid1 = null; int quantity1 = -1;// String SsqlCmd = "select commodityid,quantity from OrderCommodity where orderid=? order by commodityid"; String SsqlCmd = "select COMMODITYID,QUANTITY from ORDERCOMMODITY where ORDERID=? order by COMMODITYID"; PreparedStatement prepstate = null; try { prepstate = conn.prepareStatement(SsqlCmd); prepstate.setString(1,orderid); rset = prepstate.executeQuery(); while(rset.next()) { commodityid1 = rset.getString(1); quantity1 = rset.getInt(2); commodityorder.add(new CommodityOrder(orderid,commodityid1,quantity1)); } prepstate.close(); } catch(Exception e) {} } private void storeMemberOrders() { int i = -1;// String SsqlCmd = "update OrderTable set memberid=?,totalprice=? where orderid=?"; String SsqlCmd = "update ORDERTABLE set MEMBERID=?,TOTALPRICE=? where ORDERID=?"; PreparedStatement prepstate = null; try { prepstate = conn.prepareStatement(SsqlCmd); prepstate.setString(1,memberid); prepstate.setInt(2,totalprice); prepstate.setString(3,orderid); i = prepstate.executeUpdate(); prepstate.close(); } catch(Exception e) {} } public void setTotalprice(int totalprice) { this.totalprice = totalprice; } public void setCommodityOrder(ArrayList commodityorder) { this.commodityorder = commodityorder; } private String makeRandomOrderid() { int tempch; String randomorderid = ""; for(int i = 0;i < 4;i++) { tempch = (new Double(Math.random() * 990)).intValue() % 13; randomorderid = randomorderid + String.valueOf(ch[tempch]); } randomorderid = "z" + randomorderid; return randomorderid; } }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -