public DbLog() { if (Settings.ConnectionString.Contains(OleDbSQLServer1) || Settings.ConnectionString.Contains(OleDbSQLServer2)) { _databaseLog = new SQLServer(); } else if (Settings.ConnectionString.Contains(OleDbOracle1) || Settings.ConnectionString.Contains(OleDbOracle2)) { _databaseLog = new Oracle(); } else if (Settings.ConnectionString.Contains(OleDbMySQL)) { _databaseLog = new MySQL(); } else if (Settings.ConnectionString.Contains(OleDbPostgre)) { _databaseLog = new Postgre(); } else if (Settings.ConnectionString.Contains(MongoDB)) { _databaseLog = new MongoDB(); } else { ConsoleHelper.Write("Connection string format invalid! Check out github project instructions: https://github.com/fernando-goncalves92/EasierLog"); } }
public override void Initialize(IDatabaseMetaData dbMetaData, IDbms dbms) { if (_metaMap != null) { BeanMetaDataCacheHandler handler = new BeanMetaDataCacheHandler(_metaMap); Type myBeanClass = BeanType; if (handler.IsDBFluteEntity(myBeanClass)) { IBeanMetaData cachedMeta = handler.GetMetaFromCache(myBeanClass); if (cachedMeta == null) { handler.AddMetaFromCache(myBeanClass, this); } } } base.Initialize(dbMetaData, dbms); }
protected void SetupPrimaryKeyExtension(Type beanType, IDatabaseMetaData dbMetaData, IDbms dbms) { // = = = = = = = = = = = = = = = = = = = = = = = // Set up _primaryKeys and _identifierGenerator! // = = = = = = = = = = = = = = = = = = = = = = = if (_primaryKeys == null || _primaryKeys.Length == 0) { _primaryKeys = new String[_primaryKeyList.size()]; int index = 0; foreach (IPropertyType pt in _primaryKeyList) { _primaryKeys[index] = pt.ColumnName; ++index; } } if (_identifierGenerator == null) { _identifierGenerator = Seasar.Dao.Id.IdentifierGeneratorFactory.CreateIdentifierGenerator(null, dbms); } }
protected override void SetupDatabaseMetaData(Type beanType, IDatabaseMetaData dbMetaData, IDbms dbms) { if (IsEntity(beanType)) { SetupPrimaryKeyExtension(beanType, dbMetaData, dbms); return; } base.SetupDatabaseMetaData(beanType, dbMetaData, dbms); }
protected override void SetupProperty(Type beanType, IDatabaseMetaData dbMetaData, IDbms dbms) { if (!IsEntity(beanType)) { base.SetupProperty(beanType, dbMetaData, dbms); return; } Entity entity = (Entity)ClassUtil.NewInstance(beanType); DBMeta dbmeta = entity.DBMeta; foreach (PropertyInfo pi in beanType.GetProperties()) { IPropertyType pt = null; RelnoAttribute relnoAttr = _beanAnnotationReader.GetRelnoAttribute(pi); if (relnoAttr != null) { if (!_relation) { IRelationPropertyType rpt = CreateRelationPropertyType(beanType, pi, relnoAttr, dbMetaData, dbms); AddRelationPropertyType(rpt); } } else { if (pi.CanWrite) { pt = CreatePropertyTypeExtension(pi, dbmeta); if (pt != null) { AddPropertyType(pt); if (pt.IsPrimaryKey) { _primaryKeyList.add(pt); } } } } if (IdentifierGenerator == null) { IDAttribute idAttr = _beanAnnotationReader.GetIdAttribute(pi, dbms); if (idAttr != null) { _identifierGenerator = Seasar.Dao.Id.IdentifierGeneratorFactory.CreateIdentifierGenerator(pi.Name, dbms, idAttr); if (pt != null) { _primaryKeys = new string[] { pt.ColumnName }; pt.IsPrimaryKey = true; } } } } }
public IBeanMetaData FindOrCreateCachedMetaIfNeeds(Type beanClass, IAnnotationReaderFactory factory, IDatabaseMetaData dbMetaData, IDbms dbms) { if (IsDBFluteEntity(beanClass)) { IBeanMetaData cachedMeta = GetMetaFromCache(beanClass); if (cachedMeta != null) { return(cachedMeta); } else { BeanMetaDataCacheExtension bmdExt = new BeanMetaDataCacheExtension(beanClass, factory, false); bmdExt.MetaMap = _metaMap; bmdExt.Initialize(dbMetaData, dbms); return(bmdExt); } } return(null); }
protected override IBeanMetaData CreateRelationBeanMetaData(PropertyInfo propertyInfo, IDatabaseMetaData dbMetaData, IDbms dbms) { if (_metaMap != null) { BeanMetaDataCacheHandler handler = new BeanMetaDataCacheHandler(_metaMap); IBeanMetaData cachedBmd = handler.FindOrCreateCachedMetaIfNeeds(propertyInfo.PropertyType, AnnotationReaderFactory, dbMetaData, dbms); if (cachedBmd != null) { return(cachedBmd); } } bool isRelation = false; if (this.NestNo > 0) { isRelation = true; } BeanMetaDataCacheExtension bmdExt = new BeanMetaDataCacheExtension(propertyInfo.PropertyType, this.AnnotationReaderFactory, isRelation); bmdExt.NestNo = this.NestNo + 1; bmdExt.Initialize(dbMetaData, dbms); return(bmdExt); }