FMDB数据库简化操作

FMDB数据库简化操作

简述使用第三方封装库原因

简述使用第三方库简化原因:

  1. FMDB在使用过程中常常后台数据模型字段改变就需要对原有的建表,插入,读取代码进行更改。
    重复更改影响效率。
  2. 字段多数据类型多样转型麻烦。
  3. 实际使用项目中常常需要不同用户不同数据库路径

附上FMDB官方连接:
FMDB

第三方封装库

LKDaoBase

下面介绍的FMDB封装简化库 RUNTime动态获取模型属性 大多参考LKDaoBase这个库

JKDBModel

Star 320

特点:

  1. 自动创建数据库、自动创建数据库表。
  2. 自动检测字段添加新字段。
  3. 一行代码实现数据库的CURD操作。
  4. 源码及其简单,易于理解和掌握。
  5. 扩展自己的功能也非常得简单,容易。
  6. 支持多线程,非线程阻塞。
  7. 支持arc和mrc。

缺点:

SQLite 默认支持五种数据类型TEXT、INTEGER、REAL、BLOB、NULL。
JKDBModel只做了少数类型的判断,
如:int、unsigned int、short、unsigned short、BOOL,对象类型默认是字符串。

LKDBHelper-SQLite-ORM

star 587

与LKDaoBase源自一个作者。

特点:

1.支持的属性类型多

Supported NSArray,NSDictionary, ModelClass, NSNumber, NSString, NSDate, NSData, UIColor, UIImage, CGRect, CGPoint, CGSize, NSRange, int,char,float, double, long.. attribute to insert and select automation.

全面支持 NSArray,NSDictionary, ModelClass, NSNumber, NSString, NSDate, NSData, UIColor, UIImage, CGRect, CGPoint, CGSize, NSRange, int,char,float, double, long.. 等属性的自动化操作(插入和查询)

2.功能比较全面

除一般的数据库存储工作还支持数据库地址的更换,表字段升级,表外键(数据库都支持,这个库只是封装了下)。

具体使用说明可以点击连接看github上的使用说明。

用户数据库区分

实际使用过程中可以用一个单例保存用户登陆的登陆名。用户登陆后
使用

[[LKDBHelper alloc]initWithDBPath:dbpath]

创建用户数据库目录。

注意:

模型嵌套(如Amodel 含有 Bmodel)这种情况该第三方库以外键的方式存储,可以方便的储取整个Amodel模型。
如果想通过查询Bmodel 符合字段(select * from B where xx = ?)来返回整个Amodel暂不支持。

你可能感兴趣的:(FMDB数据库简化操作)