diff --git a/Paintinglite/Paintinglite.xcodeproj/project.xcworkspace/xcuserdata/niukouruanjian.xcuserdatad/UserInterfaceState.xcuserstate b/Paintinglite/Paintinglite.xcodeproj/project.xcworkspace/xcuserdata/niukouruanjian.xcuserdatad/UserInterfaceState.xcuserstate index e760efc..08d9ed6 100644 Binary files a/Paintinglite/Paintinglite.xcodeproj/project.xcworkspace/xcuserdata/niukouruanjian.xcuserdatad/UserInterfaceState.xcuserstate and b/Paintinglite/Paintinglite.xcodeproj/project.xcworkspace/xcuserdata/niukouruanjian.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Paintinglite/Paintinglite.xcodeproj/xcuserdata/niukouruanjian.xcuserdatad/xcschemes/xcschememanagement.plist b/Paintinglite/Paintinglite.xcodeproj/xcuserdata/niukouruanjian.xcuserdatad/xcschemes/xcschememanagement.plist index 553e96b..50045b7 100644 --- a/Paintinglite/Paintinglite.xcodeproj/xcuserdata/niukouruanjian.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Paintinglite/Paintinglite.xcodeproj/xcuserdata/niukouruanjian.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,12 +7,12 @@ Paintinglite.xcscheme_^#shared#^_ orderHint - 1 + 0 PaintingliteAggregate.xcscheme_^#shared#^_ orderHint - 0 + 1 diff --git a/Paintinglite/Paintinglite/Base.lproj/Main.storyboard b/Paintinglite/Paintinglite/Base.lproj/Main.storyboard index 942f0bc..a2f483a 100644 --- a/Paintinglite/Paintinglite/Base.lproj/Main.storyboard +++ b/Paintinglite/Paintinglite/Base.lproj/Main.storyboard @@ -1,24 +1,33 @@ - + + - + + + - + - + - + + + + + + + diff --git a/Paintinglite/Paintinglite/Paintinglite/Exception/PaintingliteException.h b/Paintinglite/Paintinglite/Paintinglite/Exception/PaintingliteException.h index ed4fff3..2b5a411 100644 --- a/Paintinglite/Paintinglite/Paintinglite/Exception/PaintingliteException.h +++ b/Paintinglite/Paintinglite/Paintinglite/Exception/PaintingliteException.h @@ -21,22 +21,31 @@ NS_ASSUME_NONNULL_BEGIN @interface PaintingliteException : NSException /*! - @method PaintingliteException: reason: + @method paintingliteException: reason: @abstract 异常处理报错 @discussion 异常处理报错 @param exceptionWithName 异常名称 @param reason 异常原因 */ -+ (void)PaintingliteException:(NSString *)exceptionWithName reason:(NSString *)reason; ++ (void)paintingliteException:(NSString *)exceptionWithName reason:(NSString *)reason; + + +/*! + @method paintingliteDictException: + @abstract 异常处理报错 + @discussion 异常处理报错 + @param info 异常字典 + */ ++ (void)paintingliteDictException:(NSDictionary *)info; /*! - @method PaintingliteXMLException: reason: + @method paintingliteXMLException: reason: @abstract 解析XML异常处理报错 @discussion 解析XML报错异常处理报错 @param exceptionWithName 异常名称 @param reason 异常原因 */ -+ (void)PaintingliteXMLException:(NSString *)exceptionWithName reason:(NSString *)reason; ++ (void)paintingliteXMLException:(NSString *)exceptionWithName reason:(NSString *)reason; @end diff --git a/Paintinglite/Paintinglite/Paintinglite/Exception/PaintingliteException.m b/Paintinglite/Paintinglite/Paintinglite/Exception/PaintingliteException.m index 4ed82bd..ffc588d 100644 --- a/Paintinglite/Paintinglite/Paintinglite/Exception/PaintingliteException.m +++ b/Paintinglite/Paintinglite/Paintinglite/Exception/PaintingliteException.m @@ -11,12 +11,16 @@ @implementation PaintingliteException #pragma mark - 抛出异常 -+ (void)PaintingliteException:(NSString *)exceptionWithName reason:(NSString *)reason{ - NSLog(@"exceptionWithName: %@ reason: %@",exceptionWithName,reason); ++ (void)paintingliteException:(NSString *)exceptionWithName reason:(NSString *)reason{ + NSLog(@"Exception: %@ Reason: %@",exceptionWithName,reason); } -+ (void)PaintingliteXMLException:(NSString *)exceptionWithName reason:(NSString *)reason{ - NSLog(@"exceptionWithName: %@ reason: %@",exceptionWithName,reason); ++ (void)paintingliteDictException:(NSDictionary *)info{ + NSLog(@"%@",info); +} + ++ (void)paintingliteXMLException:(NSString *)exceptionWithName reason:(NSString *)reason{ + NSLog(@"Exception: %@ Reason: %@",exceptionWithName,reason); } @end diff --git a/Paintinglite/Paintinglite/Paintinglite/Opt/Data/PaintingliteAggregateFunc.m b/Paintinglite/Paintinglite/Paintinglite/Opt/Data/PaintingliteAggregateFunc.m index 0fdc725..f3d9814 100644 --- a/Paintinglite/Paintinglite/Paintinglite/Opt/Data/PaintingliteAggregateFunc.m +++ b/Paintinglite/Paintinglite/Paintinglite/Opt/Data/PaintingliteAggregateFunc.m @@ -67,7 +67,7 @@ - (NSString *__nonnull)aggregateSQL:(PaintingliteAggregateType)type field:(NSStr //判断表是否存在 if (![[self.exec getCurrentTableNameWithCache] containsObject:[tableName lowercaseString]]) { //抛出异常 - [PaintingliteException PaintingliteException:@"表名不存在" reason:@"数据库中找不到表名,无法查询"]; + [PaintingliteException paintingliteException:@"表名不存在" reason:@"数据库中找不到表名,无法查询"]; } diff --git a/Paintinglite/Paintinglite/Paintinglite/Opt/Data/PaintingliteCUDOptions.m b/Paintinglite/Paintinglite/Paintinglite/Opt/Data/PaintingliteCUDOptions.m index edbcc05..d554742 100644 --- a/Paintinglite/Paintinglite/Paintinglite/Opt/Data/PaintingliteCUDOptions.m +++ b/Paintinglite/Paintinglite/Paintinglite/Opt/Data/PaintingliteCUDOptions.m @@ -59,7 +59,7 @@ - (Boolean)baseCUD:(sqlite3 *)ppDb sql:(NSString *)sql CUDHandler:(NSString * (^ //判断表是否存在,判断表的字段 if (![[self.exec getCurrentTableNameWithCache] containsObject:tableName]){ - [PaintingliteException PaintingliteException:@"表名不存在" reason:@"数据库找不到表名,无法执行操作"]; + [PaintingliteException paintingliteException:@"表名不存在" reason:@"数据库找不到表名,无法执行操作"]; } //执行语句 @@ -207,7 +207,26 @@ - (Boolean)update:(sqlite3 *)ppDb obj:(id)obj condition:(NSString * _Nonnull)con sql = ([sql componentsSeparatedByString:@","][1].length == 0) ? [sql substringWithRange:NSMakeRange(0, sql.length-1)] : sql; - sql = [sql stringByAppendingString:[NSString stringWithFormat:@" WHERE %@",[condition containsString:@"WHERE"] ? [[condition componentsSeparatedByString:@"WHERE "] lastObject] : condition]]; + /// condition 是否包含‘’或者“” + NSString *resCondition; + if (![condition containsString:@"'"] || ![condition containsString:@"\""]) { + NSArray *conditions = [condition componentsSeparatedByString:@"="]; + if (conditions.count == 0) { + return success; + } + NSString *newSubContent = [conditions lastObject]; + NSString *resSubContent; + if ([newSubContent characterAtIndex:0] == ' ') { + resSubContent = [[@"'" stringByAppendingString:[newSubContent substringFromIndex:1]] stringByAppendingString:@"'"]; + + } else { + resSubContent = [[@"'" stringByAppendingString:newSubContent] stringByAppendingString:@"'"]; + } + + resCondition = [[conditions.firstObject stringByAppendingString:@"="] stringByAppendingString:resSubContent]; + } + + sql = [sql stringByAppendingString:[NSString stringWithFormat:@" WHERE %@",[resCondition containsString:@"WHERE"] ? [[resCondition componentsSeparatedByString:@"WHERE "] lastObject] : resCondition]]; //增加数据 success = [self.exec sqlite3Exec:ppDb sql:sql]; diff --git a/Paintinglite/Paintinglite/Paintinglite/Opt/Data/PaintingliteIntellegenceSelect.m b/Paintinglite/Paintinglite/Paintinglite/Opt/Data/PaintingliteIntellegenceSelect.m index 6763921..3bc0264 100644 --- a/Paintinglite/Paintinglite/Paintinglite/Opt/Data/PaintingliteIntellegenceSelect.m +++ b/Paintinglite/Paintinglite/Paintinglite/Opt/Data/PaintingliteIntellegenceSelect.m @@ -63,7 +63,7 @@ - (Boolean)load:(sqlite3 *)ppDb completeHandler:(void (^)(PaintingliteSessionErr while ((obj = va_arg(arg_list, NSObject *))) { if ([self.objs isEqual:obj]) { //报出异常 - [PaintingliteException PaintingliteException:@"重复对象" reason:@"传入对象重复"]; + [PaintingliteException paintingliteException:@"重复对象" reason:@"传入对象重复"]; } //获得每一个id对象 @@ -108,7 +108,7 @@ - (Boolean)limit:(sqlite3 *)ppDb start:(NSUInteger)start end:(NSUInteger)end com while ((obj = va_arg(arg_list, NSObject *))) { if ([self.objs isEqual:obj]) { //报出异常 - [PaintingliteException PaintingliteException:@"重复对象" reason:@"传入对象重复"]; + [PaintingliteException paintingliteException:@"重复对象" reason:@"传入对象重复"]; } @@ -155,7 +155,7 @@ - (Boolean)limit:(sqlite3 *)ppDb startAndEnd:(NSArray *> *)s while ((obj = va_arg(arg_list, NSObject *))) { if ([self.objs isEqual:obj]) { //报出异常 - [PaintingliteException PaintingliteException:@"重复对象" reason:@"传入对象重复"]; + [PaintingliteException paintingliteException:@"重复对象" reason:@"传入对象重复"]; } @@ -254,7 +254,7 @@ - (Boolean)orderBy:(sqlite3 *)ppDb orderStyleArray:(NSArray *)orderS while ((obj = va_arg(arg_list, NSObject *))) { if ([self.objs isEqual:obj]) { //报出异常 - [PaintingliteException PaintingliteException:@"重复对象" reason:@"传入对象重复"]; + [PaintingliteException paintingliteException:@"重复对象" reason:@"传入对象重复"]; } //获得每一个id对象 @@ -302,7 +302,7 @@ - (Boolean)query:(sqlite3 *)ppDb sql:(NSArray *)sql completeHandler: while ((obj = va_arg(arg_list, NSObject *))) { if ([self.objs isEqual:obj]) { //报出异常 - [PaintingliteException PaintingliteException:@"重复对象" reason:@"传入对象重复"]; + [PaintingliteException paintingliteException:@"重复对象" reason:@"传入对象重复"]; } diff --git a/Paintinglite/Paintinglite/Paintinglite/Opt/Database/PaintingliteDataBaseOptions.h b/Paintinglite/Paintinglite/Paintinglite/Opt/Database/PaintingliteDataBaseOptions.h index f2ce105..ee3a816 100644 --- a/Paintinglite/Paintinglite/Paintinglite/Opt/Database/PaintingliteDataBaseOptions.h +++ b/Paintinglite/Paintinglite/Paintinglite/Opt/Database/PaintingliteDataBaseOptions.h @@ -110,7 +110,7 @@ NS_ASSUME_NONNULL_BEGIN @param completeHandler 回调操作 @result Boolean */ -- (Boolean)createTableForObj:(sqlite3 *)ppDb obj:(id)obj createStyle:(PaintingliteDataBaseOptionsPrimaryKeyStyle)createStyle completeHandler:(void(^ __nullable)(PaintingliteSessionError *error,Boolean success))completeHandler; +- (Boolean)createTableForObj:(sqlite3 *)ppDb obj:(id)obj createStyle:(PaintingliteDataBaseOptionsPrimaryKeyStyle)createStyle completeHandler:(void(^ __nullable)(NSString *tableName,PaintingliteSessionError *error,Boolean success))completeHandler; /*! @method alterTableForName: oldName: newName: diff --git a/Paintinglite/Paintinglite/Paintinglite/Opt/Database/PaintingliteDataBaseOptions.m b/Paintinglite/Paintinglite/Paintinglite/Opt/Database/PaintingliteDataBaseOptions.m index 8187433..43d818d 100644 --- a/Paintinglite/Paintinglite/Paintinglite/Opt/Database/PaintingliteDataBaseOptions.m +++ b/Paintinglite/Paintinglite/Paintinglite/Opt/Database/PaintingliteDataBaseOptions.m @@ -11,6 +11,7 @@ #import "PaintingliteExec.h" #import "PaintingliteLog.h" #import "PaintingliteWarningHelper.h" +#import "PaintingliteObjRuntimeProperty.h" @interface PaintingliteDataBaseOptions() @property (nonatomic,strong)PaintingliteExec *exec; //执行语句 @@ -86,7 +87,7 @@ - (Boolean)createTableForObj:(sqlite3 *)ppDb obj:(id)obj createStyle:(Paintingli return [self createTableForObj:ppDb obj:obj createStyle:createStyle completeHandler:nil]; } -- (Boolean)createTableForObj:(sqlite3 *)ppDb obj:(id)obj createStyle:(PaintingliteDataBaseOptionsPrimaryKeyStyle)createStyle completeHandler:(void (^)(PaintingliteSessionError * _Nonnull, Boolean))completeHandler{ +- (Boolean)createTableForObj:(sqlite3 *)ppDb obj:(id)obj createStyle:(PaintingliteDataBaseOptionsPrimaryKeyStyle)createStyle completeHandler:(void (^)(NSString *tableName,PaintingliteSessionError * _Nonnull, Boolean))completeHandler{ /// 对象为空 if (obj == NULL || obj == (id)[NSNull null]) { [PaintingliteWarningHelper warningReason:@"Object IS NULL OR Object IS [NSNull null]" time:[NSDate date] solve:@"Reset The Object" args:nil]; @@ -96,7 +97,7 @@ - (Boolean)createTableForObj:(sqlite3 *)ppDb obj:(id)obj createStyle:(Paintingli Boolean success = [self.exec sqlite3Exec:ppDb obj:obj status:PaintingliteExecCreate createStyle:createStyle]; if (completeHandler != nil) { - completeHandler([PaintingliteSessionError sharePaintingliteSessionError],success); + completeHandler([[PaintingliteObjRuntimeProperty getObjName:obj] lowercaseString],[PaintingliteSessionError sharePaintingliteSessionError],success); } return success; diff --git a/Paintinglite/Paintinglite/Paintinglite/PaintingliteExec.m b/Paintinglite/Paintinglite/Paintinglite/PaintingliteExec.m index daf5ede..8c5f795 100644 --- a/Paintinglite/Paintinglite/Paintinglite/PaintingliteExec.m +++ b/Paintinglite/Paintinglite/Paintinglite/PaintingliteExec.m @@ -140,7 +140,7 @@ - (NSString *__nonnull)getOptTableName:(sqlite3 *)ppDb sql:(NSString *__nonnull) if (self.isCreateTable && ![firstSQLWords isEqualToString:Paintinglite_Sqlite3_INSERT]) { if ([[self getCurrentTableNameWithCache] containsObject:[tableName lowercaseString]]) { - [PaintingliteException PaintingliteException:@"表名存在" reason:@"数据库中已经存在表名,无法建立新表"]; + [PaintingliteException paintingliteException:@"表名存在" reason:@"数据库中已经存在表名,无法建立新表"]; } }else{ self.isCreateTable = YES; @@ -159,7 +159,7 @@ - (NSString *__nonnull)getOptTableName:(sqlite3 *)ppDb sql:(NSString *__nonnull) for (NSString *info in [self getTableInfo:ppDb tableName:tableName]) { if ([info isEqualToString:column]) { //相同的时候,则不更新 - [PaintingliteException PaintingliteException:@"列表存在" reason:[NSString stringWithFormat:@"列表存在无法修改[%@]",column]]; + [PaintingliteException paintingliteException:@"列表存在" reason:[NSString stringWithFormat:@"列表存在无法修改[%@]",column]]; } } [self isNotExistsTable:tableName]; @@ -167,7 +167,7 @@ - (NSString *__nonnull)getOptTableName:(sqlite3 *)ppDb sql:(NSString *__nonnull) tableName = [[sql componentsSeparatedByString:Paintinglite_Sqlite3_SPACE]lastObject]; if (![[self getCurrentTableNameWithCache] containsObject:[tableName lowercaseString]]) { - [PaintingliteException PaintingliteException:@"表名不存在" reason:[NSString stringWithFormat:@"数据库中查找不到表名[%@]",tableName]]; + [PaintingliteException paintingliteException:@"表名不存在" reason:[NSString stringWithFormat:@"数据库中查找不到表名[%@]",tableName]]; } }else if ([firstSQLWords isEqualToString:Paintinglite_Sqlite3_DELETE]){ if ([[sql uppercaseString] containsString:Paintinglite_Sqlite3_WHERE]) { @@ -342,7 +342,7 @@ - (NSMutableArray *)sqlite3Exec:(sqlite3 *)ppDb objName:(NSString *)objName{ NSString *objLowName = [objName lowercaseString]; //判断是否有这个表存在,存在则查询,否则报错 if (![[self getCurrentTableNameWithCache] containsObject:objLowName]) { - [PaintingliteException PaintingliteException:@"无法执行操作" reason:@"表名不存在"]; + [PaintingliteException paintingliteException:@"无法执行操作" reason:@"表名不存在"]; } //保存表结构快照 resArray = [self getTableInfo:ppDb tableName:objLowName]; @@ -367,8 +367,6 @@ - (Boolean)sqlite3Exec:(sqlite3 *)ppDb tableName:(NSString *)tableName content:( if (tables.count != 0 && [tables containsObject:[tableName lowercaseString]]) { //包含了就不能创建了 flag = false; - - [PaintingliteException PaintingliteException:@"表名存在" reason:@"数据库中已经存在表名,无法建立新表"]; }else{ //创建数据库 if (flag) { @@ -396,7 +394,7 @@ - (Boolean)sqlite3Exec:(sqlite3 *)ppDb tableName:(NSString *)tableName{ //不能删除 flag = false; - [PaintingliteException PaintingliteException:@"表名不存在" reason:@"数据库中未找到表名"]; + [PaintingliteException paintingliteException:@"表名不存在" reason:@"数据库中未找到表名"]; } return flag; @@ -431,7 +429,8 @@ - (void)getPaintingliteExecCreate:(sqlite3 *)ppDb objName:(NSString *__nonnull)o //如果存在表则不能创建 if ([[self getCurrentTableNameWithCache] containsObject:[[PaintingliteObjRuntimeProperty getObjName:obj] lowercaseString]]) { - [PaintingliteException PaintingliteException:@"表名存在" reason:@"数据库中已经存在表名,无法建立新表"]; +// [PaintingliteException PaintingliteException:@"表名存在" reason:@"数据库中已经存在表名,无法建立新表"]; + } //默认选择UUID作为主键 @@ -462,7 +461,7 @@ - (void)getPaintingliteExecAlterRename:(sqlite3 *)ppDb obj:(id)obj{ if ([[self getCurrentTableNameWithCache] containsObject:(NSString *)obj[0]]) { [self sqlite3Exec:ppDb sql:Paintinglite_Sqlite3_ALTER_RENAME_SQL(obj[0],obj[1])]; }else{ - [PaintingliteException PaintingliteException:@"表名不存在" reason:@"数据库中未找到表名"]; + [PaintingliteException paintingliteException:@"表名不存在" reason:@"数据库中未找到表名"]; } } @@ -471,7 +470,7 @@ - (void)getPaintingliteExecAlterAddColumn:(sqlite3 *)ppDb obj:(id)obj{ if ([[self getCurrentTableNameWithCache] containsObject:[(NSString *)obj[0] lowercaseString]]){ [self sqlite3Exec:ppDb sql:Paintinglite_Sqlite3_ALTER_ADD_COLUMN_SQL(obj[0],obj[1],obj[2])]; }else{ - [PaintingliteException PaintingliteException:@"表名不存在" reason:@"数据库中未找到表名"]; + [PaintingliteException paintingliteException:@"表名不存在" reason:@"数据库中未找到表名"]; } } @@ -495,7 +494,7 @@ - (void)getPaintingliteExecAlterObj:(sqlite3 *)ppDb objName:(NSString *)objName } } }else{ - [PaintingliteException PaintingliteException:@"表名不存在" reason:@"数据库中未找到表名"]; + [PaintingliteException paintingliteException:@"表名不存在" reason:@"数据库中未找到表名"]; } } @@ -649,7 +648,7 @@ - (Boolean)isNotExistsTable:(NSString *__nonnull)tableName{ } } - [PaintingliteException PaintingliteException:@"表名不存在" reason:[NSString stringWithFormat:@"数据库中查找不到表名[%@]",tableName]]; + [PaintingliteException paintingliteException:@"表名不存在" reason:[NSString stringWithFormat:@"数据库中查找不到表名[%@]",tableName]]; // } return false; diff --git a/Paintinglite/Paintinglite/Paintinglite/PaintingliteSessionManager.h b/Paintinglite/Paintinglite/Paintinglite/PaintingliteSessionManager.h index 3be1af5..9de6be5 100644 --- a/Paintinglite/Paintinglite/Paintinglite/PaintingliteSessionManager.h +++ b/Paintinglite/Paintinglite/Paintinglite/PaintingliteSessionManager.h @@ -264,7 +264,7 @@ NS_ASSUME_NONNULL_BEGIN @param completeHandler 回调操作 @result Boolean */ -- (Boolean)createTableForObj:(id)obj primaryKeyStyle:(PaintingliteDataBaseOptionsPrimaryKeyStyle)primaryKeyStyle completeHandler:(void(^ __nullable)(PaintingliteSessionError *error,Boolean success))completeHandler; +- (Boolean)createTableForObj:(id)obj primaryKeyStyle:(PaintingliteDataBaseOptionsPrimaryKeyStyle)primaryKeyStyle completeHandler:(void(^ __nullable)(NSString *tableName,PaintingliteSessionError *error,Boolean success))completeHandler; /*! @method alterTableForName: newName: diff --git a/Paintinglite/Paintinglite/Paintinglite/PaintingliteSessionManager.m b/Paintinglite/Paintinglite/Paintinglite/PaintingliteSessionManager.m index 5ee7ddc..af23c53 100644 --- a/Paintinglite/Paintinglite/Paintinglite/PaintingliteSessionManager.m +++ b/Paintinglite/Paintinglite/Paintinglite/PaintingliteSessionManager.m @@ -341,7 +341,7 @@ - (Boolean)createTableForObj:(id)obj primaryKeyStyle:(PaintingliteDataBaseOption return [self createTableForObj:obj primaryKeyStyle:primaryKeyStyle completeHandler:nil]; } -- (Boolean)createTableForObj:(id)obj primaryKeyStyle:(PaintingliteDataBaseOptionsPrimaryKeyStyle)primaryKeyStyle completeHandler:(void (^)(PaintingliteSessionError * _Nonnull, Boolean))completeHandler{ +- (Boolean)createTableForObj:(id)obj primaryKeyStyle:(PaintingliteDataBaseOptionsPrimaryKeyStyle)primaryKeyStyle completeHandler:(void (^)(NSString *_Nonnull,PaintingliteSessionError * _Nonnull, Boolean))completeHandler{ if (!self.isOpen) { [self warningOpenDatabase]; return false; diff --git a/Paintinglite/Paintinglite/Paintinglite/Vender/PaintingliteXMLSessionManager.m b/Paintinglite/Paintinglite/Paintinglite/Vender/PaintingliteXMLSessionManager.m index e5ae1d6..2236230 100644 --- a/Paintinglite/Paintinglite/Paintinglite/Vender/PaintingliteXMLSessionManager.m +++ b/Paintinglite/Paintinglite/Paintinglite/Vender/PaintingliteXMLSessionManager.m @@ -113,7 +113,7 @@ - (NSDictionary *)selectOne:(NSString *)methodID condition:(id)condition, ...{ if (![orderKeysArray containsObject:PARAMETERTYPE]) { /* 没有配置传入参数 */ - [PaintingliteException PaintingliteXMLException:[NSString stringWithFormat:@"XML映射文件配置%@参数",methodID,PARAMETERTYPE] reason:[NSString stringWithFormat:@"调用%s方法必须配置%@参数",__func__,PARAMETERTYPE]]; + [PaintingliteException paintingliteXMLException:[NSString stringWithFormat:@"XML映射文件配置%@参数",methodID,PARAMETERTYPE] reason:[NSString stringWithFormat:@"调用%s方法必须配置%@参数",__func__,PARAMETERTYPE]]; return [NSString string]; } @@ -127,7 +127,7 @@ - (NSDictionary *)selectOne:(NSString *)methodID condition:(id)condition, ...{ sqlText = [sqlText stringByAppendingString:[self analysisXMLDTDMapperIFTEXT:orderDict objPropertyDict:objPropertyDict]]; }else{ /* 配置文件和传入参数类型不一致 */ - [PaintingliteException PaintingliteXMLException:@"修改配置文件传入的类型" reason:[NSString stringWithFormat:@"配置文件[%@]和传入参数[%@]类型不一致",orderDict[PARAMETERTYPE],[obj class]]]; + [PaintingliteException paintingliteXMLException:@"修改配置文件传入的类型" reason:[NSString stringWithFormat:@"配置文件[%@]和传入参数[%@]类型不一致",orderDict[PARAMETERTYPE],[obj class]]]; } if (![sqlText containsString:@"FROM"]) { @@ -269,7 +269,7 @@ - (Boolean)insert:(NSString *)methodID obj:(id)obj{ } }else{ /* 配置文件和传入参数类型不一致 */ - [PaintingliteException PaintingliteXMLException:@"修改配置文件传入的类型" reason:[NSString stringWithFormat:@"配置文件[%@]和传入参数[%@]类型不一致",parameterType,[obj class]]]; + [PaintingliteException paintingliteXMLException:@"修改配置文件传入的类型" reason:[NSString stringWithFormat:@"配置文件[%@]和传入参数[%@]类型不一致",parameterType,[obj class]]]; return [NSString string]; } } @@ -463,7 +463,7 @@ - (Boolean)del:(NSString *)methodID obj:(id)obj{ } }else{ /* 配置文件和传入参数类型不一致 */ - [PaintingliteException PaintingliteXMLException:@"修改配置文件传入的类型" reason:[NSString stringWithFormat:@"配置文件[%@]和传入参数[%@]类型不一致",parameterType,[obj class]]]; + [PaintingliteException paintingliteXMLException:@"修改配置文件传入的类型" reason:[NSString stringWithFormat:@"配置文件[%@]和传入参数[%@]类型不一致",parameterType,[obj class]]]; return [NSString string]; } @@ -637,7 +637,7 @@ - (NSString *)analysisResultMap:(NSString *__nonnull)sqlText orderDict:(NSDictio } } }else{ - [PaintingliteException PaintingliteXMLException:[NSString stringWithFormat:@"请在项目中创建[%@]类",resultMapType] reason:[NSString stringWithFormat:@"XML配置文件type类型[%@]未在项目中声明",resultMapType]]; + [PaintingliteException paintingliteXMLException:[NSString stringWithFormat:@"请在项目中创建[%@]类",resultMapType] reason:[NSString stringWithFormat:@"XML配置文件type类型[%@]未在项目中声明",resultMapType]]; } /* 替换原有字符串 */ @@ -696,7 +696,7 @@ - (NSDictionary *)orderDictByType:(NSDictionary *__nonnull)dict methodID:(NSStri idStr = [[methodID componentsSeparatedByString:@"."] lastObject]; }else{ /* 命名空间错误 */ - [PaintingliteException PaintingliteXMLException:@"提供的的ID限定与XML Mapper namespace不相符" reason:@"XML Mapper namespace error"]; + [PaintingliteException paintingliteXMLException:@"提供的的ID限定与XML Mapper namespace不相符" reason:@"XML Mapper namespace error"]; } } else{ idStr = methodID; @@ -739,7 +739,7 @@ - (NSString *)analysisXMLDTDMapperStruct:(id (^)(NSDictionary *dict,NSString *id idStr = [[methodID componentsSeparatedByString:@"."] lastObject]; }else{ /* 命名空间错误 */ - [PaintingliteException PaintingliteXMLException:@"提供的的ID限定与XML Mapper namespace不相符" reason:@"XML Mapper namespace error"]; + [PaintingliteException paintingliteXMLException:@"提供的的ID限定与XML Mapper namespace不相符" reason:@"XML Mapper namespace error"]; } } else{ idStr = methodID; @@ -750,7 +750,7 @@ - (NSString *)analysisXMLDTDMapperStruct:(id (^)(NSDictionary *dict,NSString *id return mapperBlock(dict,idStr); } }else{ - [PaintingliteException PaintingliteXMLException:[NSString stringWithFormat:@"请检查XML配置文件是否配置%@标签",labelType] reason:[NSString stringWithFormat:@"无法找到%@标签",labelType]]; + [PaintingliteException paintingliteXMLException:[NSString stringWithFormat:@"请检查XML配置文件是否配置%@标签",labelType] reason:[NSString stringWithFormat:@"无法找到%@标签",labelType]]; } return [NSString string]; diff --git a/Paintinglite/Paintinglite/ViewController.m b/Paintinglite/Paintinglite/ViewController.m index c2f2489..aa90e56 100644 --- a/Paintinglite/Paintinglite/ViewController.m +++ b/Paintinglite/Paintinglite/ViewController.m @@ -7,6 +7,8 @@ // #import "ViewController.h" +#import "Paintinglite/PaintingliteSessionManager.h" +#import "UserClass.h" @interface ViewController () @@ -16,6 +18,62 @@ @implementation ViewController - (void)viewDidLoad{ [super viewDidLoad]; + + PaintingliteSessionManager *manager = [PaintingliteSessionManager sharePaintingliteSessionManager]; + Boolean flag = [manager openSqlite:@"test.db" completeHandler:^(NSString * _Nonnull filePath, PaintingliteSessionError * _Nonnull error, Boolean success) { + if (success) { + NSLog(@"%@",filePath); + } + }]; + if (flag) { + UserClass *user = [UserClass new]; + flag = [manager createTableForObj:user primaryKeyStyle:(PaintingliteDataBaseOptionsDefault) completeHandler:^(NSString *tableName,PaintingliteSessionError * _Nonnull error, Boolean success) { + if (success) { + NSLog(@"创建表[%@]成功",tableName); + } + }]; + + if (flag) { + user.name = @"CreaterOS"; + user.age = [NSNumber numberWithInt:22]; + [manager insertWithObj:user completeHandler:^(PaintingliteSessionError * _Nonnull error, Boolean success) { + if (success) { + [manager execQuerySQL:@"select * from userClass" completeHandler:^(PaintingliteSessionError * _Nonnull error, Boolean success, NSMutableArray * _Nonnull resArray) { + if (success) { + for (NSDictionary *dict in resArray) { + NSLog(@"%@",dict); + } + } + }]; + } + }]; + + user.age = [NSNumber numberWithInt:22]; + [manager updateWithObj:user condition:@"name=CreaterOS" completeHandler:^(PaintingliteSessionError * _Nonnull error, Boolean success) { + if (success) { + [manager execQuerySQL:@"select * from userClass" completeHandler:^(PaintingliteSessionError * _Nonnull error, Boolean success, NSMutableArray * _Nonnull resArray) { + if (success) { + for (NSDictionary *dict in resArray) { + NSLog(@"%@",dict); + } + } + }]; + } + }]; + + [manager del:@"DELETE FROM userclass WHERE name = 'CreaterOS'" completeHandler:^(PaintingliteSessionError * _Nonnull error, Boolean success) { + if (success) { + [manager execQuerySQL:@"select * from userClass" completeHandler:^(PaintingliteSessionError * _Nonnull error, Boolean success, NSMutableArray * _Nonnull resArray) { + if (success) { + for (NSDictionary *dict in resArray) { + NSLog(@"%@",dict); + } + } + }]; + } + }]; + } + } } @end