SqlMapFactory.java 2.29 KB
package com.sitech.ismp.coll.i2000.db;

import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import com.ibatis.common.resources.Resources;


import java.util.Collection;
import java.util.Map;
import java.util.HashMap;
import java.io.Reader;
/**
 * @author winnerbao
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class SqlMapFactory {
    private static Map sqlMapClientMap = new HashMap();
    private static SqlMapClient defaultSqlMap = null;

    public static synchronized SqlMapClient getNmsGuestSqlMapClient()
    {
        String config=I2000DBGlobal.NMSGUEST_SQLMAP_CONFIG;
        if(sqlMapClientMap.get(config)==null)
        {
            String resource = config;
            Reader reader;
            SqlMapClient sqlMap = null;
            try{
                java.util.ResourceBundle LoginInfo =   java.util.ResourceBundle.getBundle("i2000");
                String sClassforName  = LoginInfo.getString("nmsguest_driver");
                String sUrl           = LoginInfo.getString("nmsguest_url");
                String sUserName      = LoginInfo.getString("nmsguest_username");
                String sPassword      = LoginInfo.getString("nmsguest_password");
                //目前DES3无法还原NmsGuest
                //sPassword 	  		  = com.sitech.util.DES3.decrypt(sPassword);
                java.util.Properties properties = new java.util.Properties();
                properties.put("nmsguest_driver",sClassforName);
                properties.put("nmsguest_url",sUrl);
                properties.put("nmsguest_username",sUserName);
                properties.put("nmsguest_password",sPassword);
                reader = Resources.getResourceAsReader(resource);
                sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader,properties);
                //reader = Resources.getResourceAsReader(resource);
                //sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
            }catch(Exception e){
                throw new RuntimeException(e);
            }finally{
            }sqlMapClientMap.put(config,sqlMap);
            return 		sqlMap;
        }else
        {
            return (SqlMapClient)sqlMapClientMap.get(config);
        }
    }
}