BGFMDBConfig.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. //
  2. // BGFMDBConfig.h
  3. // BGFMDB
  4. //
  5. // Created by biao on 2017/7/19.
  6. // Copyright © 2017年 Biao. All rights reserved.
  7. //
  8. #ifndef BGFMDBConfig_h
  9. #define BGFMDBConfig_h
  10. // 过期方法注释
  11. #define BGFMDBDeprecated(instead) NS_DEPRECATED(2_0, 2_0, 2_0, 2_0, instead)
  12. #define bg_primaryKey @"bg_id"
  13. #define bg_createTimeKey @"bg_createTime"
  14. #define bg_updateTimeKey @"bg_updateTime"
  15. //keyPath查询用的关系,bg_equal:等于的关系;bg_contains:包含的关系.
  16. #define bg_equal @"Relation_Equal"
  17. #define bg_contains @"Relation_Contains"
  18. #define bg_complete_B void(^_Nullable)(BOOL isSuccess)
  19. #define bg_complete_I void(^_Nullable)(bg_dealState result)
  20. #define bg_complete_A void(^_Nullable)(NSArray* _Nullable array)
  21. #define bg_changeBlock void(^_Nullable)(bg_changeState result)
  22. typedef NS_ENUM(NSInteger,bg_changeState){//数据改变状态
  23. bg_insert,//插入
  24. bg_update,//更新
  25. bg_delete,//删除
  26. bg_drop//删表
  27. };
  28. typedef NS_ENUM(NSInteger,bg_dealState){//处理状态
  29. bg_error = -1,//处理失败
  30. bg_incomplete = 0,//处理不完整
  31. bg_complete = 1//处理完整
  32. };
  33. typedef NS_ENUM(NSInteger,bg_sqliteMethodType){//sqlite数据库原生方法枚举
  34. bg_min,//求最小值
  35. bg_max,//求最大值
  36. bg_sum,//求总和值
  37. bg_avg//求平均值
  38. };
  39. typedef NS_ENUM(NSInteger,bg_dataTimeType){
  40. bg_createTime,//存储时间
  41. bg_updateTime,//更新时间
  42. };
  43. /**
  44. 封装处理传入数据库的key和value.
  45. */
  46. extern NSString* _Nonnull bg_sqlKey(NSString* _Nonnull key);
  47. /**
  48. 转换OC对象成数据库数据.
  49. */
  50. extern NSString* _Nonnull bg_sqlValue(id _Nonnull value);
  51. /**
  52. 根据keyPath和Value的数组, 封装成数据库语句,来操作库.
  53. */
  54. extern NSString* _Nonnull bg_keyPathValues(NSArray* _Nonnull keyPathValues);
  55. /**
  56. 直接执行sql语句;
  57. @tablename nil时以cla类名为表名.
  58. @cla 要操作的类,nil时返回的结果是字典.
  59. 提示:字段名要增加BG_前缀
  60. */
  61. extern id _Nullable bg_executeSql(NSString* _Nonnull sql,NSString* _Nullable tablename,__unsafe_unretained _Nullable Class cla);
  62. /**
  63. 自定义数据库名称.
  64. */
  65. extern void bg_setSqliteName(NSString*_Nonnull sqliteName);
  66. /**
  67. 删除数据库文件
  68. */
  69. extern BOOL bg_deleteSqlite(NSString*_Nonnull sqliteName);
  70. /**
  71. 设置操作过程中不可关闭数据库(即closeDB函数无效).
  72. 默认是NO.
  73. */
  74. extern void bg_setDisableCloseDB(BOOL disableCloseDB);
  75. /**
  76. 手动关闭数据库.
  77. */
  78. extern void bg_closeDB();
  79. /**
  80. 设置调试模式
  81. @debug YES:打印调试信息, NO:不打印调试信息.
  82. */
  83. extern void bg_setDebug(BOOL debug);
  84. /**
  85. 事务操作.
  86. @return 返回YES提交事务, 返回NO回滚事务.
  87. */
  88. extern void bg_inTransaction(BOOL (^ _Nonnull block)());
  89. /**
  90. 清除缓存
  91. */
  92. extern void bg_cleanCache();
  93. #endif /* BGFMDBConfig_h */