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

📄 txbean.java

📁 j2ee tutorial
💻 JAVA
字号:
/* * * Copyright 2001 Sun Microsystems, Inc. All Rights Reserved. *  * This software is the proprietary information of Sun Microsystems, Inc.   * Use is subject to license terms. *  */package com.sun.ebank.ejb.tx;import java.sql.*;import javax.sql.*;import java.util.*;import java.math.*;import javax.ejb.*;import javax.naming.*;import com.sun.ebank.ejb.exception.MissingPrimaryKeyException;import com.sun.ebank.util.Debug;import com.sun.ebank.util.TxDetails;import com.sun.ebank.util.CodedNames;import com.sun.ebank.util.DBHelper;public class TxBean implements EntityBean {    private String txId;    private String accountId;    private java.util.Date timeStamp;    private BigDecimal amount;    private BigDecimal balance;    private String description;    private EntityContext context;    private Connection con;    // business methods    public TxDetails getDetails() {        Debug.print("TxBean  getDetails");        return new TxDetails (txId, accountId, timeStamp,             amount, balance, description);    }    // ejb methods     public String ejbCreate (String txId, String accountId,        java.util.Date timeStamp, BigDecimal amount, BigDecimal balance,        String description)         throws CreateException, MissingPrimaryKeyException {        Debug.print("TxBean ejbCreate");        if ((txId == null) || (txId.trim().length() == 0)) {            throw new MissingPrimaryKeyException            ("ejbCreate: txId arg is null or empty");        }        this.txId = txId;        this.accountId = accountId;        this.timeStamp = timeStamp;        this.amount = amount;        this.balance = balance;        this.description = description;        try {            insertRow();        } catch (Exception ex) {             throw new EJBException("ejbCreate: " + ex.getMessage());        }        return txId;  }    public String ejbFindByPrimaryKey(String primaryKey)         throws FinderException {           Debug.print("TxBean ejbFindByPrimaryKey");        boolean result;        try {            result = selectByPrimaryKey(primaryKey);        } catch (Exception ex) {              throw new EJBException("ejbFindByPrimaryKey: " +                   ex.getMessage());        }           if (result) {            return primaryKey;        }        else {            throw new ObjectNotFoundException                ("Row for id " + primaryKey + " not found.");        }    }    public Collection ejbFindByAccountId(java.util.Date startDate,         java.util.Date endDate, String accountId)         throws FinderException {           Debug.print("TxBean ejbFindByAccountId");        Collection result;        try {            result = selectByAccountId(accountId, startDate, endDate);        } catch (Exception ex) {              throw new EJBException("ejbFindByAccountId " +                   ex.getMessage());        }        return result;    }    public void ejbRemove() {           Debug.print("TxBean ejbRemove");        try {            deleteRow(txId);         } catch (Exception ex) {              throw new EJBException("ejbRemove: " +                   ex.getMessage());         }    }        public void setEntityContext(EntityContext context) {           Debug.print("TxBean setEntityContext");        this.context = context;    }    public void unsetEntityContext() {           Debug.print("TxBean unsetEntityContext");    }       public void ejbLoad() {           Debug.print("TxBean ejbLoad");        try {            loadTx();         } catch (Exception ex) {              throw new EJBException("ejbLoad: " +                   ex.getMessage());         }    }        public void ejbStore() {           Debug.print("TxBean ejbStore");        try {            storeTx();         } catch (Exception ex) {              throw new EJBException("ejbStore: " +                   ex.getMessage());         }    }       public void ejbActivate() {        Debug.print("TxBean ejbActivate");        txId = (String)context.getPrimaryKey();    }    public void ejbPassivate() {        Debug.print("TxBean ejbPassivate");        txId = null;    }    public void ejbPostCreate(String txId, String accountId,        java.util.Date timeStamp, BigDecimal amount, BigDecimal balance,        String description) {}/*********************** Database Routines *************************/       private void makeConnection() {           Debug.print("TxBean makeConnection");        try {            InitialContext ic = new InitialContext();            DataSource ds = (DataSource) ic.lookup(CodedNames.BANK_DATABASE);            con =  ds.getConnection();        } catch (Exception ex) {             throw new EJBException("Unable to connect to database. " +                 ex.getMessage());        }    } // makeConnection    private void releaseConnection() {           Debug.print("TxBean releaseConnection");        try {            con.close();        } catch (SQLException ex) {             throw new EJBException("releaseConnection: " + ex.getMessage());        }    } // releaseConnection    private void insertRow () throws SQLException {           Debug.print("TxBean insertRow");                 makeConnection();        String insertStatement =            "insert into tx values ( ? , ? , ? , ? , ? , ? )" ;        PreparedStatement prepStmt =             con.prepareStatement(insertStatement);           prepStmt.setString(1, txId);        prepStmt.setString(2, accountId);        prepStmt.setDate(3, DBHelper.toSQLDate(timeStamp));        prepStmt.setBigDecimal(4, amount);        prepStmt.setBigDecimal(5, balance);        prepStmt.setString(6, description);        prepStmt.executeUpdate();        prepStmt.close();        releaseConnection();    }       private void deleteRow(String id) throws SQLException {           Debug.print("TxBean deleteRow");        makeConnection();        String deleteStatement =                "delete from tx where tx_id = ? ";        PreparedStatement prepStmt =                con.prepareStatement(deleteStatement);           prepStmt.setString(1, id);        prepStmt.executeUpdate();        prepStmt.close();        releaseConnection();    }       private boolean selectByPrimaryKey(String primaryKey)         throws SQLException {           Debug.print("TxBean selectByPrimaryKey");        makeConnection();        String selectStatement =                "select tx_id " +                "from tx where tx_id = ? ";        PreparedStatement prepStmt =                con.prepareStatement(selectStatement);        prepStmt.setString(1, primaryKey);           ResultSet rs = prepStmt.executeQuery();        boolean result = rs.next();        prepStmt.close();        releaseConnection();        return result;    }       private Collection selectByAccountId(String accountId,         java.util.Date startDate, java.util.Date endDate)         throws SQLException {           Debug.print("TxBean selectByAccountId");        makeConnection();        String selectStatement =                "select tx_id " +                "from tx " +                "where (account_id = ?) " +                "and ((time_stamp >= ?) and (time_stamp <= ?)) ";        PreparedStatement prepStmt =                 con.prepareStatement(selectStatement);           prepStmt.setString(1, accountId);        prepStmt.setDate(2, DBHelper.toSQLDate(startDate));        prepStmt.setDate(3, DBHelper.toSQLDate(endDate));        ResultSet rs = prepStmt.executeQuery();        ArrayList a = new ArrayList();           while (rs.next()) {            a.add(rs.getString(1));        }           prepStmt.close();        releaseConnection();        return a;    }       private void loadTx() throws SQLException {           Debug.print("TxBean loadTx");        makeConnection();        String selectStatement =                "select account_id, time_stamp, amount, balance, description " +                "from tx where tx_id = ? ";        PreparedStatement prepStmt =                 con.prepareStatement(selectStatement);           prepStmt.setString(1, txId);        ResultSet rs = prepStmt.executeQuery();           if (rs.next()) {            accountId = rs.getString(1);            timeStamp = rs.getDate(2);            amount = rs.getBigDecimal(3);            balance = rs.getBigDecimal(4);            description = rs.getString(5);            prepStmt.close();            releaseConnection();        }        else {            prepStmt.close();            releaseConnection();            throw new NoSuchEntityException("Row for id " +                 txId + " not found in database.");        }    }       private void storeTx() throws SQLException {           Debug.print("TxBean storeTx");        makeConnection();        String updateStatement =                "update tx " +                "set account_id = ? , time_stamp = ? , " +                "amount = ? , balance = ? , description = ?  " +                "where tx_id = ? ";        PreparedStatement prepStmt =                 con.prepareStatement(updateStatement);           prepStmt.setString(1, accountId);        prepStmt.setDate(2, DBHelper.toSQLDate(timeStamp));        prepStmt.setBigDecimal(3, amount);        prepStmt.setBigDecimal(4, balance);        prepStmt.setString(5, description);        prepStmt.setString(6, txId);        int rowCount = prepStmt.executeUpdate();        prepStmt.close();        releaseConnection();           if (rowCount == 0) {            throw new EJBException("Storing row for id " + txId + " failed.");        }    }   } // TxBean 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -