FFDataBaseModel.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. //
  2. // FIDDataBaseModel.h
  3. // FFDB
  4. //
  5. // Created by Fidetro on 2017/3/22.
  6. // Copyright © 2017年 Fidetro. All rights reserved.
  7. //
  8. // https://github.com/Fidetro/FFDB
  9. #import <Foundation/Foundation.h>
  10. #import <FMDB/FMDB.h>
  11. #import "FFDBManager.h"
  12. extern NSString *const kDatabaseHeadname;
  13. @interface FFDataBaseModel : NSObject
  14. /** primary id,use to update **/
  15. @property(nonatomic,strong,readonly) NSString *primaryID;
  16. /**
  17. select all object from class
  18. @return class objects
  19. */
  20. + (NSArray <__kindof FFDataBaseModel *>*)selectFromClassAllObject;
  21. /**
  22. select object by format
  23. @param format Like sqlstatement rule, example: where name = 'fidetro' and age = '21'
  24. @return class objects
  25. */
  26. + (NSArray <__kindof FFDataBaseModel *>*)selectFromClassPredicateWithFormat:(NSString *)format;
  27. /**
  28. delete all object from class
  29. @return delete successfully
  30. */
  31. + (BOOL)deleteFromClassAllObject;
  32. /**
  33. delete object
  34. @return delete successfully
  35. */
  36. - (BOOL)deleteObject;
  37. /**
  38. delete object by format
  39. @param format Like sqlstatement rule, example: where name = 'fidetro' and age = '21'
  40. @return delete successfully
  41. */
  42. + (BOOL)deleteFromClassPredicateWithFormat:(NSString *)format;
  43. /**
  44. insert object
  45. @return insert successfully
  46. */
  47. - (BOOL)insertObject;
  48. /**
  49. update object by format
  50. @param format Like sqlstatement rule, example: set age = '24' where name = 'fidetro'
  51. @return update successfully
  52. */
  53. + (BOOL)updateFromClassPredicateWithFormat:(NSString *)format;
  54. /**
  55. update object for all columns
  56. @return update successfully
  57. */
  58. - (BOOL)updateObject;
  59. /**
  60. update object by columns
  61. @param columns Need to update columns
  62. @return update successfully
  63. */
  64. - (BOOL)updateObjectSetColumns:(NSArray *)columns;
  65. /**
  66. find primaryID will update object,if not insert
  67. */
  68. - (BOOL)upsert;
  69. /**
  70. find columns will update object,if not insert
  71. */
  72. - (BOOL)upsertWithColumns:(NSArray *)columns;
  73. /**
  74. update object by KVO
  75. @param update_block You can set object property into update_block
  76. */
  77. - (void)updateObjectWithBlock:(void(^)())update_block;
  78. @end