⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memberorderprocejavabean.java

📁 java EJB 编程源代码。
💻 JAVA
字号:
package NetCommodityOrder.moejb;

import java.util.*;
import javax.ejb.*;
import javax.sql.*;
import java.sql.*;
import javax.naming.*;
import NetCommodityOrder.ejbtools.*;

//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//这是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 + -