美文网首页
iOS数据库保存Model对象-JKDBModel

iOS数据库保存Model对象-JKDBModel

作者: 豆汁儿还是豆花儿 | 来源:发表于2017-03-20 13:15 被阅读771次

    首先呢,一想到iOS的数据库,习惯用FMDB来管理,但是保存实体类对象时依然存在一些问题,所以参考JKDBModel  来进行封装,方便直接实体类对象来做增、删、改、查。

    官方介绍:


    既是:如果一个数据模型需要进行数据库操作,那么必须继承JKDBModel,即这个类是所有模型的父类;

    所有的增删改查操作都有对应的单独和批量两种方式:

    JKDBModel.h文件中方法介绍:

    /** 数据库中是否存在表*/

    + (BOOL)isExistInTable;

    /** 保存或更新* 如果不存在主键,保存,* 有主键,则更新*/

    - (BOOL)saveOrUpdate;

    /** 保存单个数据*/

    - (BOOL)save;

    /** 批量保存数据*/

    + (BOOL)saveObjects:(NSArray*)array;

    /** 更新单个数据*/

    - (BOOL)update;

    /** 批量更新数据*/

    + (BOOL)updateObjects:(NSArray*)array;

    /** 删除单个数据*/

    - (BOOL)deleteObject;

    /** 批量删除数据*/

    + (BOOL)deleteObjects:(NSArray*)array;

    /** 通过条件删除数据*/

    + (BOOL)deleteObjectsByCriteria:(NSString*)criteria;

    /** 清空表*/

    + (BOOL)clearTable;

    /** 查询全部数据*/

    + (NSArray*)findAll;

    /** 通过主键查询*/

    + (instancetype)findByPK:(int)inPk;

    /** 查找某条数据*/

    + (instancetype)findFirstByCriteria:(NSString*)criteria;

    /** 通过条件查找数据* 这样可以进行分页查询 @" WHERE pk > 5 limit 10"*/

    + (NSArray*)findByCriteria:(NSString*)criteria;

    /*** 创建表* 如果已经创建,返回YES*/

    + (BOOL)createTable;

    #pragma mark- must be override method

    /** 如果子类中有一些property不需要创建数据库字段,那么这个方法必须在子类中重写*/

    + (NSArray*)transients;

    仅此记录


    相关文章

      网友评论

          本文标题:iOS数据库保存Model对象-JKDBModel

          本文链接:https://www.haomeiwen.com/subject/xaibnttx.html