public void SetUp() { DomSqlMapBuilder builder = new DomSqlMapBuilder(); ISqlMapper mapper = builder.Configure(@"../../../Files/sqlMap.config"); blogService = new BlogService(mapper); }
/// <summary> /// 实现IBatis接口 /// </summary> /// <param name="connectConfig"></param> protected static ISqlMapper InitMapper(string sqlMapConfig) { ConfigureHandler handler = new ConfigureHandler(Configure); DomSqlMapBuilder builder = new DomSqlMapBuilder(); ISqlMapper mp = null; try { if (_mappers.ContainsKey(sqlMapConfig)) { mp = _mappers[sqlMapConfig]; } else { mp = builder.ConfigureAndWatch(sqlMapConfig, handler); _mappers.Add(sqlMapConfig, mp); } } catch (System.Exception e) { Logger.Error(e.StackTrace); return(null); //logger.Exception(e.Message, e); } return(mp); }
public UserService() { ISqlMapper mapper = Mapper.Instance(); DomSqlMapBuilder builder = new DomSqlMapBuilder(); sqlMapper = builder.Configure() as SqlMapper; }
protected static void InitMapper() { ConfigureHandler handler = new ConfigureHandler(Configure); DomSqlMapBuilder builder = new DomSqlMapBuilder(); mapper = builder.ConfigureAndWatch(handler); }
/// <summary> /// 初始化Ibatis的SqlMapper /// </summary> public static void InitMapper(string configFilePath = null) { var builder = new DomSqlMapBuilder(); mapper = string.IsNullOrEmpty(configFilePath) ? builder.Configure() : builder.Configure(configFilePath); mapper.SessionStore = new HybridWebThreadSessionStore(mapper.Id); }
protected void InitMapper(string databaseName) { ConfigureHandler handler = new ConfigureHandler(Configure); DomSqlMapBuilder builder = new DomSqlMapBuilder(); _mapper[databaseName] = builder.ConfigureAndWatch(databaseName, handler); }
public DataMapperInstanceTest() { ISqlMapper _sqlMapper = new DomSqlMapBuilder().Configure("IBatisNet.config"); _testObjectDao = new TestObjectDao(_sqlMapper); _testNullableObjectDao = new TestNullableObjectDao(_sqlMapper); }
/// <summary> /// 创建 ISqlMapper 对象 /// </summary> private void CreateSqlMapper() { //-----(1) //DomSqlMapBuilder builder = new DomSqlMapBuilder(); //ISqlMapper _sqlMapper = builder.Configure("SqlMap.config"); //-----(2) //SqlMap是线程安全的 //Mapper.Get()方法和Mapper.Instance()方法调用默认的 SqlMap.config 配置文件来创建SqlMapper //ISqlMapper sm = Mapper.Get(); //与使用DomSqlMapBuilder类的区别是,Mapper.Get()不需要指定配置文件的名称,并且使用Mapper.Get()返回SqlMapper后如果映射的XML没有错误的话,会将该XML文件缓存到内存, //下次调用的时候就不需要在检查XML文件,直到SqlMap.config被改变,这样将大大的提高了程序的性能,而使用DomSqlMapBuilder建立的SqlMapper每次都要先分析映射的XML文件,性能将大大的降低 DomSqlMapBuilder builder = new DomSqlMapBuilder(); NameValueCollection prop = new NameValueCollection(); string _ConntectionString = ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString; prop.Add("connectionString", _ConntectionString); builder.Properties = prop; try { _sqlMapper = builder.Configure(); _sqlMapper.SessionStore = new HybridWebThreadSessionStore(_sqlMapper.Id); } catch (Exception e) { throw e; } }
protected static ISqlMapper InitMapper() { ConfigureHandler handler = new ConfigureHandler(Configure); DomSqlMapBuilder builder = new DomSqlMapBuilder(); return(builder.Configure()); }
/// <summary> /// 公开的静态方法提供对象实例 /// </summary> /// <returns></returns> public static ISqlMapper ISqlMapper() { try { if (_ISqlMapper == null) { lock (SqlMapperLock) { if (_ISqlMapper == null) { // 加载sqlmap.config文件 Assembly assembly = Assembly.Load("BioA.SqlMaps"); Stream stream = assembly.GetManifestResourceStream("BioA.SqlMaps.SqlMap.config"); // 初始化访问数据库对象 DomSqlMapBuilder builder = new DomSqlMapBuilder(); _ISqlMapper = builder.Configure(stream); //CreateTables(); } } } } catch (Exception e) { LogInfo.WriteErrorLog("MyBatis.cs_MyBatis()==" + e.ToString(), Common.Module.DAO); } return(_ISqlMapper); }
//해당 Mapper 생성 private static void GenerateMapper(string datasourceCode) { //수정 필요??????????? 확인 20171017 if (maps[datasourceCode + GetProcessID()] == null) { DomSqlMapBuilder builder = new DomSqlMapBuilder(); ResourceManager manager = Properties.Resources.ResourceManager; if (manager.GetString(datasourceCode) == null) { throw new Exception(Messages.MAPPER_DEFINE_ERROR + " [" + datasourceCode + "]"); } ISqlMapper mapper = builder.Configure(manager.GetString(datasourceCode)); if (datasourceCode.Equals("ORACLEConfig")) { mapper.DataSource.ConnectionString = mapper.DataSource.ConnectionString.Replace("oralceIP", Logs.useConfig.strIP).Replace("oralcePort", Logs.useConfig.strPort).Replace("oralceService", Logs.useConfig.strSID).Replace("oralceID", Logs.useConfig.strID).Replace("oralcePWD", Logs.useConfig.strPWD); } else if (datasourceCode.Equals("TIBEROConfig")) { mapper.DataSource.ConnectionString = mapper.DataSource.ConnectionString.Replace("tiberoIP", Logs.useConfig.strIP).Replace("tiberoPort", Logs.useConfig.strPort).Replace("tiberoService", Logs.useConfig.strSID).Replace("tiberoID", Logs.useConfig.strID).Replace("tiberoPWD", Logs.useConfig.strPWD); } maps.Add(datasourceCode + GetProcessID(), mapper); } }
/// <summary> /// 单例模式 /// </summary> static MyBatis() { if (SqlMap == null) { lock (syncObj) { if (SqlMap == null) { try { //Assembly assembly = Assembly.Load("SqlMaps"); //Stream stream = assembly.GetManifestResourceStream("SqlMaps.sqlmap.config"); //DomSqlMapBuilder builder = new DomSqlMapBuilder(); //SqlMap = builder.Configure(stream); DomSqlMapBuilder builder = new DomSqlMapBuilder(); SqlMap = builder.Configure(@"sqlmap.config"); } catch (Exception e) { throw e; } } } } }
/// <summary> /// 配置SQL映射 /// </summary> /// <returns>SQL映射</returns> public static ISqlMapper GetMapper() { DomSqlMapBuilder builder = new DomSqlMapBuilder(); ISqlMapper Map = builder.Configure("Config/sqlmap.config"); return(Map); }
/// <summary> /// 添加新的SQLMapper到集合中 /// </summary> /// <param name="key">Mapper的Key</param> /// <param name="connectionString">数据库的连接字符串</param> /// <param name="sqlMapFile">SqlMap.config文件</param> /// <returns>添加到集合中的Mapper</returns> public ISqlMapper Add(string key, string connectionString, string sqlMapFile) { try { DomSqlMapBuilder builder = new DomSqlMapBuilder(); if (!String.IsNullOrEmpty(connectionString)) { NameValueCollection values = new NameValueCollection(); values.Add("connectionString", connectionString); builder.Properties = values; } ISqlMapper mapper = null; if (String.IsNullOrEmpty(sqlMapFile)) { mapper = builder.Configure(); } else { mapper = builder.Configure(sqlMapFile); } mapper.SessionStore = new IBatisNet.DataMapper.SessionStore.HybridWebThreadSessionStore(mapper.Id); Add(key, mapper); return(mapper); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Init the 'default' SqlMapper defined by the SqlMap.Config file. /// </summary> public static void InitMapper() { ConfigureHandler handler = new ConfigureHandler(Configure); DomSqlMapBuilder builder = new DomSqlMapBuilder(); _mapper = builder.ConfigureAndWatch("NurDocMapper.config", handler); }
/// <summary> /// Private initialisation routine. Only runs once. /// </summary> private static void Initialize() { // Use if/lock/if pattern for best performance around the lock if (_isInitialized) { return; } lock (_initializeLock) { if (_isInitialized) { return; } // Load the assembly for the map Assembly assembly = null; try { assembly = Assembly.Load(DatabaseSettings.SqlMap_Assembly); } catch { throw new Exception(string.Format("Error loading SQL Map Assembly: {0}", DatabaseSettings.SqlMap_Assembly)); } // Load the map from the named resource Stream sqlMapFileStream = assembly.GetManifestResourceStream(DatabaseSettings.SqlMap_Resource); if (sqlMapFileStream == null) { throw new Exception(string.Format("Couldn't load SQL Map Resource {0} from Assembly {1}", DatabaseSettings.SqlMap_Resource, DatabaseSettings.SqlMap_Assembly)); } // Load the SQL map configuration XML XmlDocument docSqlMap = new XmlDocument(); docSqlMap.Load(sqlMapFileStream); // Inject connection string if set string connectionString = DatabaseSettings.ConnectionString; if (!string.IsNullOrWhiteSpace(connectionString)) { // Select the connection string attribute XmlNodeList dataSourceNodes = docSqlMap.GetElementsByTagName("dataSource"); if (dataSourceNodes.Count != 1) { throw new XmlException(string.Format("No dataSource node found in {0}", DatabaseSettings.SqlMap_Resource)); } XmlElement dataSource = (XmlElement)dataSourceNodes[0]; dataSource.SetAttribute("connectionString", connectionString); } //Ensure we're not using a prod connection string in a if (connectionString.Contains("prod") && ReflectionUtils.InUnitTest) { throw new Exception("You can't run tests against a production database! Check app.config"); } // Mapper DomSqlMapBuilder builder = new DomSqlMapBuilder(); _mapper = builder.Configure(docSqlMap); // Set flag _isInitialized = true; } }
public static ISqlMapper NewMapper() { DomSqlMapBuilder builder = new DomSqlMapBuilder(); XmlDocument doc = GetConfig(); return(builder.Configure(doc)); }
private static void InitMapper() { var builder = new DomSqlMapBuilder(); var file = AppDomain.CurrentDomain.BaseDirectory + @"SqlMap.config"; SqlMap = builder.Configure(file); //ConnectInfo.Instance.UpdateDBInfo(SqlMap.DataSource.ConnectionString); }
protected static void InitMapper() { ConfigureHandler handler = new ConfigureHandler(Configure); DomSqlMapBuilder builder = new DomSqlMapBuilder(); _mapper = builder.ConfigureAndWatch("sqlmap.config", handler); _mapper.SessionStore = new HybridWebThreadSessionStore(_mapper.Id); }
public static void InitMapper() { string configPath = GetConfigPath(); ConfigureHandler hanlder = new ConfigureHandler(Configure); DomSqlMapBuilder builder = new DomSqlMapBuilder(); mapper = builder.ConfigureAndWatch(configPath, hanlder); }
public void InitMapper(string sqlMapperPath) { ConfigureHandler handler = new ConfigureHandler(Configure); DomSqlMapBuilder builder = new DomSqlMapBuilder(); //设置文件缓存依赖,每当sqlMapperPath指向的配置文件被修改,就调用handler,即Configure方法将实例置为null,再重新获取 _mapper = builder.ConfigureAndWatch(sqlMapperPath, handler); _mapper.SessionStore = new IBatisNet.DataMapper.SessionStore.HybridWebThreadSessionStore(_mapper.Id); }
//根据数据库信息返回ISqlMapper fenghp public static ISqlMapper NewMapper(DataBaseinfo info) { DomSqlMapBuilder builder = new DomSqlMapBuilder(); XmlDocument doc = GetConfig(info); ISqlMapper isqlMapper = builder.Configure(doc); isqlMapper.DataSource.ConnectionString = info.Connectionstring; return(isqlMapper); }
protected static ISqlMapper InitMapper() { ConfigureHandler handler = new ConfigureHandler(Configure); DomSqlMapBuilder builder = new DomSqlMapBuilder(); XmlDocument doc = GetConfig(); return(builder.Configure(doc)); }
private void GetChildNode(ConfigurationScope configScope) { ResultProperty property = null; SubMap subMap = null; XmlNodeList list = configScope.NodeContext.SelectNodes(DomSqlMapBuilder.ApplyMappingNamespacePrefix("constructor/argument"), configScope.XmlNamespaceManager); if (list.Count > 0) { Type[] types = new Type[list.Count]; string[] parametersName = new string[list.Count]; for (int i = 0; i < list.Count; i++) { ArgumentProperty property2 = ArgumentPropertyDeSerializer.Deserialize(list[i], configScope); this._parameters.Add(property2); parametersName[i] = property2.ArgumentName; } ConstructorInfo constructor = this.GetConstructor(this._class, parametersName); for (int j = 0; j < this._parameters.Count; j++) { ArgumentProperty property3 = (ArgumentProperty)this._parameters[j]; configScope.ErrorContext.MoreInfo = "initialize argument property : " + property3.ArgumentName; property3.Initialize(configScope, constructor); types[j] = property3.MemberType; } this._objectFactory = configScope.SqlMapper.ObjectFactory.CreateFactory(this._class, types); } else if (Type.GetTypeCode(this._class) == TypeCode.Object) { this._objectFactory = configScope.SqlMapper.ObjectFactory.CreateFactory(this._class, Type.EmptyTypes); } foreach (XmlNode node in configScope.NodeContext.SelectNodes(DomSqlMapBuilder.ApplyMappingNamespacePrefix("result"), configScope.XmlNamespaceManager)) { property = ResultPropertyDeSerializer.Deserialize(node, configScope); configScope.ErrorContext.MoreInfo = "initialize result property: " + property.PropertyName; property.Initialize(configScope, this._class); this._properties.Add(property); } XmlNode node2 = configScope.NodeContext.SelectSingleNode(DomSqlMapBuilder.ApplyMappingNamespacePrefix("discriminator"), configScope.XmlNamespaceManager); if (node2 != null) { configScope.ErrorContext.MoreInfo = "initialize discriminator"; this.Discriminator = DiscriminatorDeSerializer.Deserialize(node2, configScope); this.Discriminator.SetMapping(configScope, this._class); } if ((configScope.NodeContext.SelectNodes(DomSqlMapBuilder.ApplyMappingNamespacePrefix("subMap"), configScope.XmlNamespaceManager).Count > 0) && (this.Discriminator == null)) { throw new ConfigurationException("The discriminator is null, but somehow a subMap was reached. This is a bug."); } foreach (XmlNode node3 in configScope.NodeContext.SelectNodes(DomSqlMapBuilder.ApplyMappingNamespacePrefix("subMap"), configScope.XmlNamespaceManager)) { configScope.ErrorContext.MoreInfo = "initialize subMap"; subMap = SubMapDeSerializer.Deserialize(node3, configScope); this.Discriminator.Add(subMap); } }
protected static void InitMapper() { ConfigureHandler handler = new ConfigureHandler(Configure); DomSqlMapBuilder builder = new DomSqlMapBuilder(); XmlDocument doc = GetConfig(); _mapper = builder.Configure(doc); //_mapper = builder.ConfigureAndWatch(path, handler); }
public void TestNoTransaction() { ISqlMapper sqlMapper = new DomSqlMapBuilder().Configure("IBatisNet.config"); TestObjectDao testObjectDao = new TestObjectDao(sqlMapper); TestObject object1 = TestObject.NewRandom(); testObjectDao.Insert(object1); Assert.Throws <SqlException>(() => testObjectDao.Insert(object1)); }
public ProductService() { DomSqlMapBuilder getdombuilder = new DomSqlMapBuilder(); if (getdombuilder != null) { ProductService._getsqlmapper = getdombuilder.Configure() as SqlMapper; } _getsqlManager = Mapper.Instance(); }
private static void BuildingMapper() { ConfigureHandler handler = new ConfigureHandler(Configure); DomSqlMapBuilder builder = new DomSqlMapBuilder(); _mapper = builder.ConfigureAndWatch(Path, handler); CallContextSessionStore ss = new CallContextSessionStore(_mapper.Id); _mapper.SessionStore = ss; }
/// <summary> /// 请不要使用此方法,下个版本将移除 /// 解决多线程问题请使用ModeBaseDao类 /// </summary> /// <returns></returns> public ISqlMapper GetSqlMap2() { if (sqlMap2 == null) { ConfigureHandler handler = new ConfigureHandler(Configure2); DomSqlMapBuilder builder = new DomSqlMapBuilder(); sqlMap2 = builder.ConfigureAndWatch(fileName2, handler); sqlMap2.SessionStore = new HybridWebThreadSessionStore(sqlMap2.Id); } return(sqlMap2); }
public ISqlMapper GetLocalSqlMap() { if (sqlMap == null) { ConfigureHandler handler = new ConfigureHandler(Configure); DomSqlMapBuilder builder = new DomSqlMapBuilder(); sqlMap = builder.ConfigureAndWatch(fileName, handler); sqlMap.SessionStore = new HybridWebThreadSessionStore(sqlMap.Id); } return(sqlMap); }