LKDBHelper(sqlite ORM)



v1.0版本



1、修复了 递归死锁。 


2、重写了 异步操作 


3、线程安全 


4、各种bug 修改,优化缓存,提高性能 




v1.1版本



1、支持 复合主键


2、支持 列与属性 的映射


3、支持 移除不要的 属性名


4、支持 设置 数据库列的  属性 (default,check ,not null,unique)




低层采用FMDatabase 可自行使用最新的FMDatabase


根据实体类 自动操作数据 



 

https://github.com/li6185377/LKDBHelper





以前写了个 LKDaobase 的类对数据库 进行自动化操作    git:  

https://github.com/li6185377/LKDaoBase




后面发现 要为每个 实体类 创建一个Dao 类来进行操作 实在是有些麻烦 而且会多出一些 冗余类


所以 就写了个 升级版的  git:   

https://github.com/li6185377/LKDBHelper



好的地方 :1、 省略了很多冗余类 

        


     2、支持表版本升级通知


      3、各种 线程状态下都测试过了   安全可靠 (递归啊,异步啊,同步啊)


                     




其他地方:



1.使用方法跟 LKDaobase 差不多 不过 取消了 继承LKDaobase 的方式 采用了LKDBHelper 统一管理


2.加入了 表版本管理 比如 当你升级的时候 需要对表 进行升级 可重载



+(LKTableUpdateType)tableUpdateForOldVersion:(int)oldVersion newVersion:(int)newVersion;

方法来 自己写操作 或者用默认的 删除旧表



//添加列的方法

{

+(void)tableUpdateAddColumeWithPN:(NSString*)propertyName;

+(void)tableUpdateAddColumeWithName:(NSString*)columeName sqliteType:(NSString*)sqliteType;

}

3.每种操作 都有异步和同步 两种方式 可自行选择