关于WCDB
1)微信2017年6月9日对外发布的移动数据库存储开源组件,支持iOS、macOS 和 Android。
2)WCDB支持iOS 7、macOS 10.9以上
3)使用Xcode 8.0以上版本进行编译
4)使用Objective-C++,引用到的文件扩展名修改成.mm
ORM CURD
1)类绑定
2)创建
支持增加字段,但不支持删除、重命名字段,重命名须重新绑定字段。
支持主键自增
3)更新
1)支持事务
2)不支持多重语句,会自动嵌入事务,以提高性能。
3)日期型自动格式化成数字型存储
4)读取
1)查询时可获取数据库操作的耗时、错误信息
2)支持重定向
3)支持多表查询
4)链式接口不支持多线程调用
5)删除
WINQ (WENXINLanguage Integrated Query)(集成查询)
1)不可能覆盖所有SQL的用法,提供了执行为封装的SQL的能力
2)支持常用的聚合函数
3)支持全局监控与错误处理
多线程高并发
WCDB 支持多线程读与读、读与写并发执行,写与写串行执行,内置连接池,任意创建不同的基础类对象,WCDB会自动管理它们的共享数据和线程并发。
加密
WCDB提供基于SQLCipher的数据库加密
反注入
不要在SQL内直接拼接数据,而是用?的绑定参数代替。这种方式可以减少SQL的解析时间,同时防止SQL注入。
损坏修复
WCDB 内建了 Repair Kit 用于修复损坏的数据库
FMDB迁移WCDB
微信建议WCDB与FMDB不要共存,否则有可能造成数据库损坏, 目前WCDB暂未提供直接执行SQL串的语句,对原项目中SQL语句改造需创建Model或直接调用C++对象拼接SQL,后续继续与微信团队沟通迁移方案引入现有开发项目中。
参考资料