📄 warehousebean.java
字号:
package warehouseJTA;import java.util.*;import javax.ejb.*;import java.sql.*;import javax.sql.*;import javax.naming.*;import javax.transaction.*;public class WarehouseBean implements SessionBean { private SessionContext context; private Connection con; private String dbName = "java:comp/env/jdbc/WarehouseDB"; public void ship (String productId, String orderId) { UserTransaction ut=context.getUserTransaction(); try{ ut.begin(); System.out.println("==Start update t_OrderItem=="); updateOrderItem(productId,orderId); System.out.println("==End update t_OrderItem=="); ut.commit(); }catch (Exception ex){ try{ ut.rollback(); throw new EJBException("Transaction failed: " + ex.getMessage()); }catch(SystemException syex){ throw new EJBException("Rollback failed: " + syex.getMessage()); } } } public String getStatus(String productId, String orderId) { try { return selectStatus(productId, orderId); } catch (SQLException ex) { throw new EJBException ("Unable to fetch status due to SQLException: " + ex.getMessage()); } } public void ejbCreate() throws CreateException { try { makeConnection(); } catch (Exception ex){ throw new CreateException(ex.getMessage()); } } public void ejbRemove(){ try { con.close(); } catch (SQLException ex){ throw new EJBException(ex.getMessage()); } } public void ejbActivate(){ try { makeConnection(); } catch (Exception ex){ throw new EJBException(ex.getMessage()); } } public void ejbPassivate(){ try { con.close(); } catch (SQLException ex) { throw new EJBException(ex.getMessage()); } } public void setSessionContext(SessionContext context) { this.context = context; } public WarehouseBean() {}/********************* Database Routines ***********************/ private String selectStatus(String productId, String orderId) throws SQLException { String result; String selectStatement = "select status " + "from t_OrderItem where productid = ? " + "and orderid = ?"; PreparedStatement prepStmt = con.prepareStatement(selectStatement); prepStmt.setString(1, productId); prepStmt.setString(2, orderId); ResultSet rs = prepStmt.executeQuery(); if (rs.next()) { result = rs.getString(1); } else { result = "No rows found."; } prepStmt.close(); return result; } private void updateOrderItem(String productId, String orderId) throws SQLException { System.out.print("productId="+productId+"\t"); System.out.println("orderId="+orderId); String updateStatement = "update t_OrderItem set status = 'shipped' " + "where productid = ? " + "and orderid = ?"; PreparedStatement prepStmt = con.prepareStatement(updateStatement); prepStmt.setString(1, productId); prepStmt.setString(2, orderId); prepStmt.executeUpdate(); prepStmt.close(); } private void makeConnection() throws NamingException, SQLException { InitialContext ic = new InitialContext(); DataSource ds = (DataSource) ic.lookup(dbName); con = ds.getConnection(); }} // WarehouseBean
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -