<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    afunms

    My Software,My Dream—Forge a more perfect NMS product.

    perfect DAO design - related classes

    package afu.framework;

    import java.sql.Connection;
    import java.lang.reflect.Constructor;

    import afu.framework.service.*;
    import afu.framework.action.*;
    import afu.framework.util.SysLogger;
    import afu.framework.config.ModuleConfig;
    import afu.framework.jdbc.BaseDao;

    public class BeanFactory
    {
        
    private BeanFactory()
        
    {        
        }

        
        
    public static BaseService newService(String beanId) 
        
    {
            
    if(beanId==null)
            
    {
                SysLogger.error(
    "beanId can not be null.");
                
    return null;
            }
            
            
    if(!ModuleConfig.getServicesMap().containsKey(beanId))
            
    {
                SysLogger.error(
    "Service-class whose id is " + beanId + " doest not exist.");
                
    return null;
            }
                    
            BaseService bs 
    = null;
            
    try
            
    {
                ClassLoader classLoader 
    = Thread.currentThread().getContextClassLoader();
                
    if (classLoader == null
                    classLoader 
    = BeanFactory.class.getClassLoader();
            
                Class clazz 
    = classLoader.loadClass(ModuleConfig.getServicesMap().get(beanId));
                bs 
    = (BaseService)clazz.newInstance();
            }

            
    catch(Exception e)
            
    {
                SysLogger.error(
    "BeanFacade.newService()",e);
            }

            
    return bs;
        }

            
        @SuppressWarnings(
    "unchecked")
        
    public static BaseAction newAction(String beanId) 
        
    {
            
    if(beanId==null)
            
    {
                SysLogger.error(
    "beanId can not be null.");
                
    return null;
            }

            
    if(!ModuleConfig.getActionsMap().containsKey(beanId))
            
    {
                SysLogger.error(
    "Action-class whose id is " + beanId + " doest not exist.");
                
    return null;
            }

            BaseAction ba 
    = null;
            
    try
            
    {
                ClassLoader classLoader 
    = Thread.currentThread().getContextClassLoader();
                
    if (classLoader == null
                   classLoader 
    = BeanFactory.class.getClassLoader();
            
                Class clazz 
    = classLoader.loadClass(ModuleConfig.getActionsMap().get(beanId));
                ba 
    = (BaseAction)clazz.newInstance();
            }

            
    catch(Exception e)
            
    {
                SysLogger.error(
    "BeanFacade.getAction()",e);
            }

            
    return ba;
        }
      
        
        
    public static BaseDao newDao(String beanId)
        
    {
            
    return newDao(beanId,null);
        }

        
        
    public static BaseDao newDao(String beanId,Connection conn)
        
    {
            
    if(beanId==null || !ModuleConfig.getDaosMap().containsKey(beanId))
                
    return null;

            BaseDao dao 
    = null;
            
    try
            
    {
                Class[] types 
    = new Class[] { java.sql.Connection.class };
                Class clazz 
    = Class.forName(ModuleConfig.getDaosMap().get(beanId));
                Constructor cons 
    = clazz.getConstructor(types);
                Object[] args 
    = new Object[] {conn};
                dao 
    = (BaseDao)cons.newInstance(args);
            }

            
    catch(Exception e)
            
    {
                SysLogger.error(
    "BeanFactory.newDao with a connection",e);
            }

            
    return dao;
        }

    }

    package afu.framework.jdbc;

    import java.util.*;
    import java.sql.*;

    import javax.naming.*;
    import javax.sql.DataSource;

    import afu.framework.util.SysLogger;

    import afu.framework.config.ModuleConfig;


    public class ConnectionManager
    {
       
    private ConnectionManager() 
       
    {       
       }

       
       
    private static Map<String,DataSource> dsMap;   
       
    static
       
    {
           dsMap 
    = new HashMap<String,DataSource>();
           List
    <String> jndis = ModuleConfig.getJndis();
           
    try
           
    {
              Context initCtx 
    = new InitialContext();
              
    if("weblogic".equalsIgnoreCase(ModuleConfig.getContainer()))
              
    {
                  
    for(String jndi:jndis)
                  
    {                
                      DataSource ds 
    = (DataSource)initCtx.lookup(jndi);
                       dsMap.put(jndi,ds);
                  }

              }

              
    else
              
    {
                  
    for(String jndi:jndis)
                  
    {                
                      DataSource ds 
    = (DataSource)initCtx.lookup("java:comp/env/" + jndi);
                       dsMap.put(jndi,ds);
                  }
                  
              }

              initCtx.close();
           }

           
    catch(NamingException e)
           
    {
               SysLogger.error(
    "Can not connect database,may be jndi does not exist",e);
           }

           
    catch(Exception e)
           
    {
               SysLogger.error(
    "Can not connect database",e);
           }

       }

       
       
    public static Connection getConnection()
       
    {
           
    return getConnection(ModuleConfig.getDefaultJndi(),true);
       }

       
       
    public static Connection getConnection(final boolean autoCommit)
       
    {
           
    return getConnection(ModuleConfig.getDefaultJndi(),autoCommit);
       }

       
       
    public static Connection getConnection(final String jndi,final boolean autoCommit)
       
    {
           Connection conn 
    = null;
           
    try
           
    {           
               DataSource ds 
    = dsMap.get(jndi);
               
    if(ds==nullreturn null;
               
               conn 
    = ds.getConnection();           
               conn.setAutoCommit(autoCommit);
           }

           
    catch(SQLException sqle)
           
    {
               SysLogger.error(
    "Database fail to get connection 1",sqle);
           }

           
    catch(Exception sqle)
           
    {
               SysLogger.error(
    "Database fail to get connection 2",sqle);
           }

           
    return conn;
       }

       
       
    public static void close(Connection conn)
       
    {
           
    try
           
    {
               
    if(conn!=null && !conn.isClosed())
                  conn.close();
           }

           
    catch(SQLException se)
           
    {
               SysLogger.error(
    "Fail to close() connection",se);         
           }

       }


       
    public static void close(Connection conn,Statement stmt,ResultSet rs)
       
    {
           
    try
           
    {
               
    if(conn!=null && !conn.isClosed())
                  conn.close();
               
    if(stmt!=null)
                  stmt.close();
               
    if(rs!= null)
                  rs.close();           
           }

           
    catch(SQLException se)
           
    {
               SysLogger.error(
    "Fail to close() connection",se);         
           }

       }

       
       
    public static void rollback(Connection conn)
       
    {
           
    try
           
    {
               
    if(!conn.getAutoCommit())             
                  conn.rollback();
           }

           
    catch(SQLException se)
           
    {
               SysLogger.error(
    "Can not do rollback operation.",se);         
           }

       }
       
    }
     

    posted on 2007-05-12 12:37 afunms 閱讀(130) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    My Links

    News

    留言簿(18)

    隨筆檔案

    相冊

    搜索

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 亚洲国产精品丝袜在线观看| 国产成人精品免费视频网页大全| 香蕉高清免费永久在线视频| 亚洲成aⅴ人在线观看| 99久久久国产精品免费牛牛| 亚洲无线观看国产精品| 国产成人免费AV在线播放 | 久久久久国产精品免费免费搜索 | 免费播放美女一级毛片| 手机看片久久国产免费| 国产综合成人亚洲区| 国产精品亚洲二区在线观看| 久久不见久久见免费影院www日本| 久久久无码精品亚洲日韩软件| 中文字幕免费观看视频| 色播亚洲视频在线观看| 免费观看黄色的网站| 亚洲色偷偷色噜噜狠狠99| 国产三级电影免费观看| 国产在线精品一区免费香蕉| 色播亚洲视频在线观看| 女人毛片a级大学毛片免费| 在线观看亚洲精品专区| 在线观看国产区亚洲一区成人| 久艹视频在线免费观看| 亚洲人成伊人成综合网久久| 在线观看永久免费视频网站| 中美日韩在线网免费毛片视频| 亚洲av无码乱码国产精品| 免费毛片在线看片免费丝瓜视频| 亚洲a无码综合a国产av中文| 伊人久久大香线蕉亚洲五月天 | 日韩精品一区二区亚洲AV观看| 69av免费视频| 黄页免费视频播放在线播放| 亚洲国产精品无码专区影院| 好先生在线观看免费播放| 一级全免费视频播放| 亚洲国产高清视频在线观看| 亚洲av无码成人精品区在线播放| 日韩视频在线观看免费|