/** * */ package test.itc.db; import java.net.URL; import com.itc.db.ItcDatabase; import com.itc.db.ItcDbResourceMgr; import com.itc.db.ItcSqlMgr; import com.itc.util.ItcLogger; import com.itc.util.ItcResourceMgr; import com.itc.util.ItcResourceStoreFactory; import test.junit.dvo.Acctholder; import test.junit.dvo.NameAddr; /** * @author petervosburghjr * */ public class BankDemoDAOImpl extends ItcDbResourceMgr implements BankDemoDAO { private static BankDemoDAOImpl s_BankDemoDAOImpl = null; /** * Singleton access method * */ public static synchronized BankDemoDAOImpl getInstance() throws Exception { if (s_BankDemoDAOImpl == null) { String strDriverId = ItcResourceMgr.getString( "itcdbdrivername" ); String strUrlId = ItcResourceMgr.getString( "itcdburlid" ); String strUrlXsmDocName = ItcResourceMgr.getString( "itcxsmdoc" ); URL urlMappingDoc = ItcResourceStoreFactory.getInstance().getStore().getDocument( strUrlXsmDocName); s_BankDemoDAOImpl = new BankDemoDAOImpl( strDriverId, strUrlId, urlMappingDoc, ItcLogger.getInstance()); } return s_BankDemoDAOImpl; } /** * Singleton Constructor * */ private BankDemoDAOImpl( String strDriverId, String strUrlId, URL urlMappingDoc, ItcLogger logDb ) throws Exception { super( strDriverId, strUrlId, urlMappingDoc, logDb ); } /** * Saves the Acctholder object graph. Adds a new Acctholder if primary key is null, *
else updates the AcctHolder * @param acctHolder The Acctholder object graph to insert/update * @throws Exception */ public void saveAcctHolder( Acctholder acctHolder ) throws Exception { ItcSqlMgr sqlMgr = getSqlMgr(); try { sqlMgr.setAutoCommit( false ); sqlMgr.save( acctHolder ); sqlMgr.commit(); } catch( Exception ex ) { sqlMgr.rollback(); throw ex; } finally { closeResources( sqlMgr ); } } // end save saveAcctHolder() /** * Gets an AcctHolder object graph by ssn number * @param strSsn The ssn number of the Acctholder to fetch * @return * @throws Exception */ public Acctholder getAcctHolderBySsn( String strSsn ) throws Exception { ItcSqlMgr sqlMgr = getSqlMgr(); try { return (Acctholder)sqlMgr.findBy( Acctholder.class, "ssn", strSsn ); } finally { closeResources( sqlMgr ); } } // end getAcctHolderBySsn() /** * Gets the NameAddr custom query object by ssn number * * @param strSsn The ssn number to fetch * @return * @throws Exception */ public NameAddr getAcctNameAndAddress( String strSsn ) throws Exception { ItcSqlMgr sqlMgr = getSqlMgr(); try { return (NameAddr)sqlMgr.findBy( NameAddr.class, "ssn", strSsn ); } finally { closeResources( sqlMgr ); } } // end getAcctNameAndAddress() } // end class BankDemoDAOImpl{} // *** End of BankDemoDAOImpl.java